programStateBaseAddress: improve code reuse

Another step towards cleaner callers of
StateBaseAddressHelper<>::programStateBaseAddress.

Export programming state base address into a separate function to
improve code reuse and reduce copy-pasted fragments, which make code
modifications or maintenance more and more difficult over time. Use
specialization for gen-specific variations.

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
This commit is contained in:
Maciej Bielski 2022-09-07 17:47:17 +00:00 committed by Compute-Runtime-Automation
parent b24ff7ffbc
commit 56cb1f757b
23 changed files with 86 additions and 52 deletions

View File

@ -18,6 +18,7 @@
#include "shared/source/helpers/interlocked_max.h"
#include "shared/source/helpers/preamble.h"
#include "shared/source/helpers/state_base_address.h"
#include "shared/source/helpers/state_base_address_bdw_and_later.inl"
#include "shared/source/os_interface/os_context.h"
#include "level_zero/core/source/cmdlist/cmdlist.h"
@ -41,7 +42,6 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
NEO::EncodeWA<GfxFamily>::addPipeControlBeforeStateBaseAddress(commandStream, hwInfo, isRcs);
NEO::EncodeWA<GfxFamily>::encodeAdditionalPipelineSelect(commandStream, {}, true, hwInfo, isRcs);
auto sbaCmdBuf = NEO::StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
STATE_BASE_ADDRESS sbaCmd;
bool useGlobalSshAndDsh = NEO::ApiSpecificConfig::getBindlessConfiguration();
@ -65,6 +65,7 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
nullptr, // ioh
nullptr, // ssh
neoDevice->getGmmHelper(), // gmmHelper
&hwInfo, // hwInfo
(device->getMOCS(cachedMOCSAllowed, false) >> 1), // statelessMocsIndex
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -77,8 +78,7 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
isDebuggerActive // isDebuggerActive
};
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(stateBaseAddressHelperArgs);
*sbaCmdBuf = sbaCmd;
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream(stateBaseAddressHelperArgs, commandStream);
bool sbaTrackingEnabled = (NEO::Debugger::isDebugEnabled(this->internalUsage) && device->getL0Debugger());
NEO::EncodeStateBaseAddress<GfxFamily>::setSbaTrackingForL0DebuggerIfEnabled(sbaTrackingEnabled, *neoDevice, commandStream, sbaCmd);

View File

@ -14,6 +14,7 @@
#include "shared/source/helpers/hw_helper.h"
#include "shared/source/helpers/pipe_control_args.h"
#include "shared/source/helpers/state_base_address.h"
#include "shared/source/helpers/state_base_address_xehp_and_later.inl"
#include "shared/source/os_interface/hw_info_config.h"
#include "level_zero/core/source/cmdqueue/cmdqueue_hw.h"
@ -41,7 +42,6 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
bool isRcs = this->getCsr()->isRcs();
NEO::EncodeWA<GfxFamily>::addPipeControlBeforeStateBaseAddress(commandStream, hwInfo, isRcs);
auto sbaCmdBuf = NEO::StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
auto isDebuggerActive = neoDevice->isDebuggerActive() || neoDevice->getDebugger() != nullptr;
STATE_BASE_ADDRESS sbaCmd;
@ -56,6 +56,7 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
nullptr, // ioh
nullptr, // ssh
neoDevice->getGmmHelper(), // gmmHelper
&hwInfo, // hwInfo
(device->getMOCS(cachedMOCSAllowed, false) >> 1), // statelessMocsIndex
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -67,15 +68,7 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
false, // overrideSurfaceStateBaseAddress
isDebuggerActive // isDebuggerActive
};
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(stateBaseAddressHelperArgs);
*sbaCmdBuf = sbaCmd;
auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(hwInfo)) {
sbaCmdBuf = NEO::StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
*sbaCmdBuf = sbaCmd;
}
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream(stateBaseAddressHelperArgs, commandStream);
bool sbaTrackingEnabled = (NEO::Debugger::isDebugEnabled(this->internalUsage) && device->getL0Debugger());
NEO::EncodeStateBaseAddress<GfxFamily>::setSbaTrackingForL0DebuggerIfEnabled(sbaTrackingEnabled,

View File

@ -17,6 +17,7 @@
#include "shared/source/helpers/pipe_control_args.h"
#include "shared/source/helpers/simd_helper.h"
#include "shared/source/helpers/state_base_address.h"
#include "shared/source/helpers/state_base_address_bdw_and_later.inl"
#include "shared/source/kernel/dispatch_kernel_encoder_interface.h"
#include "shared/source/kernel/implicit_args.h"
@ -403,6 +404,7 @@ void EncodeStateBaseAddress<Family>::encode(EncodeStateBaseAddressArgs<Family> &
ioh, // ioh
ssh, // ssh
gmmHelper, // gmmHelper
&hwInfo, // hwInfo
args.statelessMocsIndex, // statelessMocsIndex
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -415,10 +417,8 @@ void EncodeStateBaseAddress<Family>::encode(EncodeStateBaseAddressArgs<Family> &
isDebuggerActive // isDebuggerActive
};
StateBaseAddressHelper<Family>::programStateBaseAddress(stateBaseAddressHelperArgs);
auto cmdSpace = StateBaseAddressHelper<Family>::getSpaceForSbaCmd(*args.container->getCommandStream());
*cmdSpace = args.sbaCmd;
StateBaseAddressHelper<Family>::programStateBaseAddressIntoCommandStream(stateBaseAddressHelperArgs,
*args.container->getCommandStream());
EncodeWA<Family>::encodeAdditionalPipelineSelect(*args.container->getCommandStream(), {}, false, hwInfo, args.isRcs);
}

View File

@ -26,6 +26,7 @@
#include "shared/source/helpers/ray_tracing_helper.h"
#include "shared/source/helpers/simd_helper.h"
#include "shared/source/helpers/state_base_address.h"
#include "shared/source/helpers/state_base_address_xehp_and_later.inl"
#include "shared/source/kernel/dispatch_kernel_encoder_interface.h"
#include "shared/source/kernel/implicit_args.h"
#include "shared/source/kernel/kernel_descriptor.h"
@ -511,6 +512,7 @@ void EncodeStateBaseAddress<Family>::encode(EncodeStateBaseAddressArgs<Family> &
ioh, // ioh
ssh, // ssh
gmmHelper, // gmmHelper
&args.container->getDevice()->getHardwareInfo(), // hwInfo
args.statelessMocsIndex, // statelessMocsIndex
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -523,17 +525,8 @@ void EncodeStateBaseAddress<Family>::encode(EncodeStateBaseAddressArgs<Family> &
isDebuggerActive // isDebuggerActive
};
StateBaseAddressHelper<Family>::programStateBaseAddress(stateBaseAddressHelperArgs);
auto cmdSpace = StateBaseAddressHelper<Family>::getSpaceForSbaCmd(*args.container->getCommandStream());
*cmdSpace = args.sbaCmd;
auto &hwInfo = device.getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(hwInfo)) {
cmdSpace = StateBaseAddressHelper<Family>::getSpaceForSbaCmd(*args.container->getCommandStream());
*cmdSpace = args.sbaCmd;
}
StateBaseAddressHelper<Family>::programStateBaseAddressIntoCommandStream(stateBaseAddressHelperArgs,
*args.container->getCommandStream());
if (args.container->isHeapDirty(HeapType::SURFACE_STATE)) {
auto heap = args.container->getIndirectHeap(HeapType::SURFACE_STATE);

View File

@ -144,7 +144,6 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
void programL3(LinearStream &csr, uint32_t &newL3Config);
void programPreamble(LinearStream &csr, Device &device, uint32_t &newL3Config);
void programPipelineSelect(LinearStream &csr, PipelineSelectArgs &pipelineSelectArgs);
void programAdditionalStateBaseAddress(LinearStream &csr, typename GfxFamily::STATE_BASE_ADDRESS &cmd, Device &device);
void programEpilogue(LinearStream &csr, Device &device, void **batchBufferEndLocation, DispatchFlags &dispatchFlags);
void programEpliogueCommands(LinearStream &csr, const DispatchFlags &dispatchFlags);
void programMediaSampler(LinearStream &csr, DispatchFlags &dispatchFlags);

View File

@ -401,7 +401,6 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
}
auto stateBaseAddressCmdOffset = commandStreamCSR.getUsed();
auto stateBaseAddressCmdBuffer = StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStreamCSR);
auto instructionHeapBaseAddress = getMemoryManager()->getInternalHeapBaseAddress(rootDeviceIndex, getMemoryManager()->isLocalMemoryUsedForIsa(rootDeviceIndex));
uint64_t indirectObjectStateBaseAddress = getMemoryManager()->getInternalHeapBaseAddress(rootDeviceIndex, ioh->getGraphicsAllocation()->isAllocatedInLocalMemoryPool());
@ -418,6 +417,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
ioh, // ioh
ssh, // ssh
device.getGmmHelper(), // gmmHelper
&hwInfo, // hwInfo
mocsIndex, // statelessMocsIndex
memoryCompressionState, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -430,13 +430,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
debuggingEnabled || device.isDebuggerActive() // isDebuggerActive
};
StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(args);
if (stateBaseAddressCmdBuffer) {
*stateBaseAddressCmdBuffer = stateBaseAddressCmd;
}
programAdditionalStateBaseAddress(commandStreamCSR, stateBaseAddressCmd, device);
StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream(args, commandStreamCSR);
bool sbaTrackingEnabled = (debuggingEnabled && !device.getDebugger()->isLegacy());
NEO::EncodeStateBaseAddress<GfxFamily>::setSbaTrackingForL0DebuggerIfEnabled(sbaTrackingEnabled,
@ -1316,9 +1310,6 @@ inline void CommandStreamReceiverHw<GfxFamily>::updateTagFromWait() {
}
}
template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::programAdditionalStateBaseAddress(LinearStream &csr, typename GfxFamily::STATE_BASE_ADDRESS &cmd, Device &device) {}
template <typename GfxFamily>
inline MemoryCompressionState CommandStreamReceiverHw<GfxFamily>::getMemoryCompressionState(bool auxTranslationRequired, const HardwareInfo &hwInfo) const {
return MemoryCompressionState::NotApplicable;

View File

@ -7,6 +7,7 @@
#include "shared/source/command_stream/command_stream_receiver_hw_base.inl"
#include "shared/source/helpers/address_patch.h"
#include "shared/source/helpers/state_base_address_bdw_and_later.inl"
namespace NEO {

View File

@ -15,6 +15,7 @@ using Family = NEO::Gen8Family;
#include "shared/source/command_container/command_encoder_bdw_and_later.inl"
#include "shared/source/command_container/encode_compute_mode_bdw_and_later.inl"
#include "shared/source/command_container/image_surface_state/compression_params_bdw_and_later.inl"
#include "shared/source/helpers/state_base_address_bdw.inl"
namespace NEO {

View File

@ -10,6 +10,7 @@
#include "shared/source/gen8/hw_cmds_base.h"
#include "shared/source/helpers/blit_commands_helper_bdw_and_later.inl"
#include "shared/source/helpers/populate_factory.h"
#include "shared/source/helpers/state_base_address_bdw.inl"
namespace NEO {
typedef Gen8Family Family;

View File

@ -34,6 +34,7 @@ struct StateBaseAddressHelperArgs {
const IndirectHeap *ioh = nullptr;
const IndirectHeap *ssh = nullptr;
GmmHelper *gmmHelper = nullptr;
const HardwareInfo *hwInfo = nullptr;
uint32_t statelessMocsIndex = 0;
MemoryCompressionState memoryCompressionState;
@ -55,6 +56,8 @@ struct StateBaseAddressHelper {
static STATE_BASE_ADDRESS *getSpaceForSbaCmd(LinearStream &cmdStream);
static void programStateBaseAddress(StateBaseAddressHelperArgs<GfxFamily> &args);
static inline void programStateBaseAddressIntoCommandStream(StateBaseAddressHelperArgs<GfxFamily> &args,
LinearStream &commandStream);
static void appendIohParameters(StateBaseAddressHelperArgs<GfxFamily> &args);
@ -68,5 +71,9 @@ struct StateBaseAddressHelper {
static void programBindingTableBaseAddress(LinearStream &commandStream, uint64_t baseAddress, uint32_t sizeInPages, GmmHelper *gmmHelper);
static uint32_t getMaxBindlessSurfaceStates();
private:
static inline void programStateBaseAddressIntoCommandStreamBase(StateBaseAddressHelperArgs<GfxFamily> &args,
LinearStream &commandStream);
};
} // namespace NEO

View File

@ -15,6 +15,15 @@
#include "shared/source/os_interface/hw_info_config.h"
namespace NEO {
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStreamBase(StateBaseAddressHelperArgs<GfxFamily> &args,
NEO::LinearStream &commandStream) {
StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(args);
auto cmdSpace = StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
*cmdSpace = *args.stateBaseAddressCmd;
}
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(
StateBaseAddressHelperArgs<GfxFamily> &args) {

View File

@ -20,4 +20,7 @@ uint32_t StateBaseAddressHelper<GfxFamily>::getMaxBindlessSurfaceStates() {
return 0;
}
template <>
void StateBaseAddressHelper<Gen8Family>::programStateBaseAddress(StateBaseAddressHelperArgs<Gen8Family> &args);
} // namespace NEO

View File

@ -31,4 +31,10 @@ void StateBaseAddressHelper<GfxFamily>::appendIohParameters(StateBaseAddressHelp
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::appendExtraCacheSettings(StateBaseAddressHelperArgs<GfxFamily> &args) {}
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream(StateBaseAddressHelperArgs<GfxFamily> &args,
NEO::LinearStream &commandStream) {
programStateBaseAddressIntoCommandStreamBase(args, commandStream);
}
} // namespace NEO

View File

@ -14,6 +14,18 @@
namespace NEO {
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream(StateBaseAddressHelperArgs<GfxFamily> &args,
NEO::LinearStream &commandStream) {
StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStreamBase(args, commandStream);
auto &hwInfoConfig = *HwInfoConfig::get(args.hwInfo->platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(*args.hwInfo)) {
auto cmdSpace = StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
*cmdSpace = *args.stateBaseAddressCmd;
}
}
template <typename GfxFamily>
void setSbaStatelessCompressionParams(typename GfxFamily::STATE_BASE_ADDRESS *stateBaseAddress, MemoryCompressionState memoryCompressionState) {
using STATE_BASE_ADDRESS = typename GfxFamily::STATE_BASE_ADDRESS;

View File

@ -13,6 +13,7 @@ using Family = NEO::XeHpFamily;
#include "shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl"
#include "shared/source/helpers/blit_commands_helper_xehp_and_later.inl"
#include "shared/source/helpers/populate_factory.h"
#include "shared/source/helpers/state_base_address_xehp_and_later.inl"
namespace NEO {

View File

@ -14,6 +14,7 @@ using Family = NEO::XeHpcCoreFamily;
#include "shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl"
#include "shared/source/helpers/blit_commands_helper_xehp_and_later.inl"
#include "shared/source/helpers/populate_factory.h"
#include "shared/source/helpers/state_base_address_xehp_and_later.inl"
namespace NEO {
static auto gfxCore = IGFX_XE_HPC_CORE;

View File

@ -14,6 +14,7 @@ using Family = NEO::XeHpgCoreFamily;
#include "shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl"
#include "shared/source/helpers/blit_commands_helper_xehp_and_later.inl"
#include "shared/source/helpers/populate_factory.h"
#include "shared/source/helpers/state_base_address_xehp_and_later.inl"
#include "shared/source/os_interface/hw_info_config.h"
namespace NEO {
@ -41,18 +42,6 @@ MemoryCompressionState CommandStreamReceiverHw<Family>::getMemoryCompressionStat
return memoryCompressionState;
}
template <>
void CommandStreamReceiverHw<Family>::programAdditionalStateBaseAddress(LinearStream &csr, typename Family::STATE_BASE_ADDRESS &cmd, Device &device) {
using STATE_BASE_ADDRESS = Family::STATE_BASE_ADDRESS;
auto &hwInfo = *device.getRootDeviceEnvironment().getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(hwInfo)) {
auto cmdSpace = StateBaseAddressHelper<Family>::getSpaceForSbaCmd(csr);
*cmdSpace = cmd;
}
}
template class CommandStreamReceiverHw<Family>;
template struct BlitCommandsHelper<Family>;
template void BlitCommandsHelper<Family>::appendColorDepth<typename Family::XY_BLOCK_COPY_BLT>(const BlitProperties &blitProperties, typename Family::XY_BLOCK_COPY_BLT &blitCmd);

View File

@ -226,6 +226,7 @@ HWTEST2_F(XeHpAndLaterSbaTest, givenMemoryCompressionEnabledWhenAppendingSbaThen
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
memoryCompressionState, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -260,6 +261,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHpAndLaterSbaTest, givenNonZeroInternalHeapBaseAd
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress

View File

@ -29,6 +29,7 @@ BDWTEST_F(SbaTest, givenUsedBindlessBuffersWhenAppendStateBaseAddressParametersI
nullptr, // ioh
&ssh, // ssh
nullptr, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -65,6 +66,7 @@ BDWTEST_F(SbaTest,
nullptr, // ioh
&ssh, // ssh
nullptr, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress

View File

@ -34,6 +34,7 @@ HWTEST2_F(SbaTest, WhenAppendStateBaseAddressParametersIsCalledThenSBACmdHasBind
nullptr, // ioh
&ssh, // ssh
nullptr, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -77,6 +78,7 @@ HWTEST2_F(SbaTest, WhenProgramStateBaseAddressParametersIsCalledThenSBACmdHasBin
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -120,6 +122,7 @@ HWTEST2_F(SbaTest,
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -163,6 +166,7 @@ HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenProgramStateBas
nullptr, // ioh
nullptr, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -219,6 +223,7 @@ HWTEST2_F(SbaForBindlessTests,
nullptr, // ioh
nullptr, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -276,6 +281,7 @@ HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenPassingIndirect
nullptr, // ioh
nullptr, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -314,6 +320,7 @@ HWTEST2_F(SbaTest, givenSbaWhenOverrideBindlessSurfaceBaseIsFalseThenBindlessSur
nullptr, // ioh
nullptr, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -354,6 +361,7 @@ HWTEST2_F(SbaTest, givenGlobalBindlessBaseAddressWhenSshIsPassedThenBindlessSurf
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -393,6 +401,7 @@ HWTEST2_F(SbaTest, givenSurfaceStateHeapWhenNotUsingGlobalHeapBaseThenBindlessSu
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -427,6 +436,7 @@ HWTEST2_F(SbaTest, givenStateBaseAddressAndDebugFlagSetWhenAppendExtraCacheSetti
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -466,6 +476,7 @@ HWTEST2_F(SbaTest, givenStateBaseAddressAndDebugFlagSetWhenAppendExtraCacheSetti
nullptr, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -545,6 +556,7 @@ HWTEST2_F(SbaTest, givenDebugFlagSetWhenAppendingSbaThenProgramCorrectL1CachePol
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -626,6 +638,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, SbaTest, whenGeneralStateBaseAddressIsProgrammedThen
&ioh, // ioh
&ssh, // ssh
gmmHelper, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -658,6 +671,7 @@ HWTEST_F(SbaTest, givenNonZeroGeneralStateBaseAddressWhenProgrammingIsDisabledTh
&ioh, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -692,6 +706,7 @@ HWTEST_F(SbaTest, givenNonZeroInternalHeapBaseAddressWhenProgrammingIsDisabledTh
&ioh, // ioh
&ssh, // ssh
pDevice->getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -732,6 +747,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, SbaTest, givenSbaProgrammingWhenHeapsAreNotProvidedT
nullptr, // ioh
nullptr, // ssh
gmmHelper, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress
@ -792,6 +808,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, SbaTest,
nullptr, // ioh
nullptr, // ssh
gmmHelper, // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
true, // setInstructionStateBaseAddress

View File

@ -622,6 +622,7 @@ XE_HPC_CORETEST_F(XeHpcSbaTest, givenSpecificProductFamilyWhenAppendingSbaThenPr
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -652,6 +653,7 @@ XE_HPC_CORETEST_F(XeHpcSbaTest, givenL1CachingOverrideWhenStateBaseAddressIsProg
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress

View File

@ -66,6 +66,7 @@ DG2TEST_F(Dg2SbaTest, givenSpecificProductFamilyWhenAppendingSbaThenProgramCorre
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -100,6 +101,7 @@ DG2TEST_F(Dg2SbaTest, givenL1CachingOverrideWhenStateBaseAddressIsProgrammedThen
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress

View File

@ -110,6 +110,7 @@ XE_HPG_CORETEST_F(XeHpgSbaTest, givenSpecificProductFamilyWhenAppendingSbaThenPr
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress
@ -140,6 +141,7 @@ XE_HPG_CORETEST_F(XeHpgSbaTest, givenL1CachingOverrideWhenStateBaseAddressIsProg
nullptr, // ioh
&ssh, // ssh
pDevice->getRootDeviceEnvironment().getGmmHelper(), // gmmHelper
nullptr, // hwInfo
0, // statelessMocsIndex
MemoryCompressionState::NotApplicable, // memoryCompressionState
false, // setInstructionStateBaseAddress