mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
[perf] simplify memory layout of command container class
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
bac3c93e45
commit
38e50007f7
@@ -158,6 +158,7 @@ TEST_F(CommandContainerTest, givenCommandContainerWhenInitializeThenEverythingIs
|
||||
EXPECT_NE(cmdContainer.getHeapHelper(), nullptr);
|
||||
EXPECT_EQ(cmdContainer.getCmdBufferAllocations().size(), 1u);
|
||||
EXPECT_NE(cmdContainer.getCommandStream(), nullptr);
|
||||
EXPECT_EQ(0u, cmdContainer.currentLinearStreamStartOffsetRef());
|
||||
|
||||
for (uint32_t i = 0; i < HeapType::NUM_TYPES; i++) {
|
||||
auto heapType = static_cast<HeapType>(i);
|
||||
@@ -431,7 +432,7 @@ HWTEST_F(CommandContainerTest, givenNotEnoughSpaceInSSHWhenGettingHeapWithRequir
|
||||
cmdContainer->getHeapWithRequiredSizeAndAlignment(HeapType::SURFACE_STATE, sizeof(RENDER_SURFACE_STATE), 0);
|
||||
|
||||
EXPECT_EQ(4 * MemoryConstants::pageSize, heap->getUsed());
|
||||
EXPECT_EQ(cmdContainer->sshAllocations.size(), 1u);
|
||||
EXPECT_EQ(cmdContainer->getSshAllocations().size(), 1u);
|
||||
}
|
||||
|
||||
TEST_F(CommandContainerTest, givenAvailableSpaceWhenGetHeapWithRequiredSizeAndAlignmentCalledThenExistingAllocationIsReturned) {
|
||||
|
||||
@@ -507,7 +507,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(-1);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -540,7 +540,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(0);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -568,7 +568,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(1);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -597,9 +597,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -616,9 +616,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotChangedAndUncachedMocsRequestedThenSBAIsProgrammedAndMocsAreSet) {
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -643,9 +643,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsAndSlmNotCha
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(true);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -666,9 +666,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsWhenDispatch
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(true);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -707,9 +707,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChange
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize + 1;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef() + 1;
|
||||
|
||||
auto slmSizeBefore = cmdContainer->slmSize;
|
||||
auto slmSizeBefore = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -721,7 +721,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChange
|
||||
|
||||
auto itorPC = find<PIPE_CONTROL *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itorPC, commands.end());
|
||||
EXPECT_EQ(slmSizeBefore + 1, cmdContainer->slmSize);
|
||||
EXPECT_EQ(slmSizeBefore + 1, cmdContainer->slmSizeRef());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenDispatchKernelThenMediaInterfaceDescriptorEncoded) {
|
||||
@@ -734,7 +734,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
|
||||
cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE)->align(EncodeStates<FamilyType>::alignInterfaceDescriptorData);
|
||||
cmdContainer->setIddBlock(cmdContainer->getHeapSpaceAllowGrow(HeapType::DYNAMIC_STATE, sizeof(INTERFACE_DESCRIPTOR_DATA) * cmdContainer->getNumIddPerBlock()));
|
||||
cmdContainer->nextIddInBlock = 0;
|
||||
cmdContainer->nextIddInBlockRef() = 0;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -760,7 +760,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
|
||||
cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE)->align(EncodeStates<FamilyType>::alignInterfaceDescriptorData);
|
||||
cmdContainer->setIddBlock(cmdContainer->getHeapSpaceAllowGrow(HeapType::DYNAMIC_STATE, sizeof(INTERFACE_DESCRIPTOR_DATA) * cmdContainer->getNumIddPerBlock()));
|
||||
cmdContainer->nextIddInBlock = cmdContainer->getNumIddPerBlock();
|
||||
cmdContainer->nextIddInBlockRef() = cmdContainer->getNumIddPerBlock();
|
||||
|
||||
// ensure heap has no available space left so that it will be reallocated and set to dirty
|
||||
auto heap = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
@@ -840,7 +840,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneAndNextID
|
||||
|
||||
cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE)->align(EncodeStates<FamilyType>::alignInterfaceDescriptorData);
|
||||
cmdContainer->setIddBlock(cmdContainer->getHeapSpaceAllowGrow(HeapType::DYNAMIC_STATE, sizeof(INTERFACE_DESCRIPTOR_DATA) * cmdContainer->getNumIddPerBlock()));
|
||||
cmdContainer->nextIddInBlock = cmdContainer->getNumIddPerBlock();
|
||||
cmdContainer->nextIddInBlockRef() = cmdContainer->getNumIddPerBlock();
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -1275,7 +1275,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindlessKernelAndBindles
|
||||
auto commandContainer = std::make_unique<CommandContainer>();
|
||||
commandContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
commandContainer->setDirtyStateForAllHeaps(false);
|
||||
commandContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
commandContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->createBindlessHeapsHelper(pDevice->getMemoryManager(),
|
||||
pDevice->getNumGenericSubDevices() > 1,
|
||||
@@ -1313,7 +1313,7 @@ HWTEST2_F(BindlessCommandEncodeStatesContainerTest, givenBindlessKernelAndBindle
|
||||
auto commandContainer = std::make_unique<CommandContainer>();
|
||||
commandContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
commandContainer->setDirtyStateForAllHeaps(false);
|
||||
commandContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
commandContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->createBindlessHeapsHelper(pDevice->getMemoryManager(),
|
||||
pDevice->getNumGenericSubDevices() > 1,
|
||||
pDevice->getRootDeviceIndex(),
|
||||
@@ -1353,7 +1353,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindfulKernelWhenBindles
|
||||
auto commandContainer = std::make_unique<CommandContainer>();
|
||||
commandContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
commandContainer->setDirtyStateForAllHeaps(false);
|
||||
commandContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
commandContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->createBindlessHeapsHelper(pDevice->getMemoryManager(),
|
||||
pDevice->getNumGenericSubDevices() > 1,
|
||||
pDevice->getRootDeviceIndex(),
|
||||
@@ -1390,7 +1390,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindlessModeEnabledWhenD
|
||||
auto commandContainer = std::make_unique<CommandContainer>();
|
||||
commandContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
commandContainer->setDirtyStateForAllHeaps(false);
|
||||
commandContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
commandContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->createBindlessHeapsHelper(pDevice->getMemoryManager(),
|
||||
pDevice->getNumGenericSubDevices() > 1,
|
||||
pDevice->getRootDeviceIndex(),
|
||||
|
||||
@@ -396,9 +396,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenCleanHeapsWhenDispatc
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -439,7 +439,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(-1);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -473,7 +473,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(0);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -498,7 +498,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
DebugManager.flags.ForceBtpPrefetchMode.set(1);
|
||||
cmdContainer.reset(new MyMockCommandContainer());
|
||||
cmdContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -1371,7 +1371,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
bool dpasModeRequired = true;
|
||||
cmdContainer->lastPipelineSelectModeRequired = false;
|
||||
cmdContainer->lastPipelineSelectModeRequiredRef() = false;
|
||||
|
||||
dispatchInterface->kernelDescriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode = dpasModeRequired;
|
||||
|
||||
@@ -1402,7 +1402,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
|
||||
bool dpasModeRequired = true;
|
||||
DebugManager.flags.OverrideSystolicPipelineSelect.set(!dpasModeRequired);
|
||||
cmdContainer->lastPipelineSelectModeRequired = false;
|
||||
cmdContainer->lastPipelineSelectModeRequiredRef() = false;
|
||||
dispatchInterface->kernelDescriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode = dpasModeRequired;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
@@ -1429,7 +1429,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest,
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
bool dpasModeRequired = true;
|
||||
cmdContainer->lastPipelineSelectModeRequired = dpasModeRequired;
|
||||
cmdContainer->lastPipelineSelectModeRequiredRef() = dpasModeRequired;
|
||||
dispatchInterface->kernelDescriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode = dpasModeRequired;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
|
||||
@@ -20,10 +20,10 @@ void CommandEncodeStatesFixture::setUp() {
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
const auto &hwInfo = pDevice->getHardwareInfo();
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
cmdContainer->systolicModeSupport = productHelper.isSystolicModeConfigurable(hwInfo);
|
||||
cmdContainer->doubleSbaWa = productHelper.isAdditionalStateBaseAddressWARequired(hwInfo);
|
||||
cmdContainer->systolicModeSupportRef() = productHelper.isSystolicModeConfigurable(hwInfo);
|
||||
cmdContainer->doubleSbaWaRef() = productHelper.isAdditionalStateBaseAddressWARequired(hwInfo);
|
||||
this->l1CachePolicyData.init(productHelper);
|
||||
cmdContainer->l1CachePolicyData = &this->l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &this->l1CachePolicyData;
|
||||
}
|
||||
|
||||
void CommandEncodeStatesFixture::tearDown() {
|
||||
|
||||
@@ -52,7 +52,7 @@ class CommandEncodeStatesFixture : public DeviceFixture {
|
||||
false, // useGlobalAtomics
|
||||
false, // multiOsContextCapable
|
||||
false, // isRcs
|
||||
container->doubleSbaWa}; // doubleSbaWa
|
||||
container->doubleSbaWaRef()}; // doubleSbaWa
|
||||
return args;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ void BindlessCommandEncodeStatesFixture::setUp() {
|
||||
this->l1CachePolicyData.init(productHelper);
|
||||
|
||||
cmdContainer = std::make_unique<CommandContainer>();
|
||||
cmdContainer->l1CachePolicyData = &l1CachePolicyData;
|
||||
cmdContainer->l1CachePolicyDataRef() = &l1CachePolicyData;
|
||||
}
|
||||
|
||||
void BindlessCommandEncodeStatesFixture::tearDown() {
|
||||
|
||||
@@ -170,7 +170,7 @@ GEN12LPTEST_F(CommandEncodeStatesTest, givenGen12LpPlatformWhenAdjustPipelineSel
|
||||
|
||||
auto &cmdStream = *cmdContainer->getCommandStream();
|
||||
|
||||
cmdContainer->systolicModeSupport = false;
|
||||
cmdContainer->systolicModeSupportRef() = false;
|
||||
descriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode = true;
|
||||
auto sizeUsed = cmdStream.getUsed();
|
||||
void *ptr = ptrOffset(cmdStream.getCpuBase(), (barrierSize + sizeUsed));
|
||||
@@ -186,7 +186,7 @@ GEN12LPTEST_F(CommandEncodeStatesTest, givenGen12LpPlatformWhenAdjustPipelineSel
|
||||
EXPECT_EQ(true, pipelineSelectCmd->getMediaSamplerDopClockGateEnable());
|
||||
EXPECT_EQ(false, pipelineSelectCmd->getSpecialModeEnable());
|
||||
|
||||
cmdContainer->systolicModeSupport = true;
|
||||
cmdContainer->systolicModeSupportRef() = true;
|
||||
sizeUsed = cmdStream.getUsed();
|
||||
ptr = ptrOffset(cmdStream.getCpuBase(), (barrierSize + sizeUsed));
|
||||
|
||||
|
||||
@@ -84,14 +84,14 @@ PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredThen
|
||||
for (const auto &deviceId : pvcXlDeviceIds) {
|
||||
hwInfo->platform.usDeviceID = deviceId;
|
||||
hwInfo->platform.usRevId = testInput.revId;
|
||||
cmdContainer->systolicModeSupport = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->lastPipelineSelectModeRequired = false;
|
||||
cmdContainer->systolicModeSupportRef() = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->lastPipelineSelectModeRequiredRef() = false;
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.preemptionMode = NEO::PreemptionMode::Initial;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::encode(*cmdContainer.get(), dispatchArgs, nullptr);
|
||||
EXPECT_EQ(testInput.expectedValue, cmdContainer->lastPipelineSelectModeRequired);
|
||||
EXPECT_EQ(testInput.expectedValue, cmdContainer->lastPipelineSelectModeRequiredRef());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -119,7 +119,7 @@ PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredAndA
|
||||
for (const auto &deviceId : pvcXlDeviceIds) {
|
||||
hwInfo->platform.usDeviceID = deviceId;
|
||||
hwInfo->platform.usRevId = testInput.revId;
|
||||
cmdContainer->systolicModeSupport = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->systolicModeSupportRef() = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
EncodeComputeMode<FamilyType>::adjustPipelineSelect(*cmdContainer.get(), dispatchInterface->kernelDescriptor);
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
@@ -503,9 +503,9 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenCleanHeapsAndSlmNotChangedAndUncachedMocsRequestedThenSBAIsProgrammedAndMocsAreSet) {
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSize = 1;
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
cmdContainer->setDirtyStateForAllHeaps(false);
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSize;
|
||||
dispatchInterface->getSlmTotalSizeResult = cmdContainer->slmSizeRef();
|
||||
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
Reference in New Issue
Block a user