mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Pass LogicalStateHelper to SBA helper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
de1c0b968a
commit
76d905b1f2
@ -68,7 +68,8 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
|
||||
false,
|
||||
NEO::MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
*sbaCmdBuf = sbaCmd;
|
||||
csr->setGSBAStateDirty(false);
|
||||
|
||||
|
@ -51,7 +51,8 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
|
||||
multiOsContextCapable,
|
||||
NEO::MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
*sbaCmdBuf = sbaCmd;
|
||||
|
||||
auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
@ -1229,7 +1229,8 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests, givenCsrWhenGen
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_NE(generalStateBaseAddress, sbaCmd.getGeneralStateBaseAddress());
|
||||
EXPECT_EQ(gmmHelper->decanonize(generalStateBaseAddress), sbaCmd.getGeneralStateBaseAddress());
|
||||
@ -1255,7 +1256,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, givenNonZeroGeneralStateBaseAddres
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_EQ(0ull, sbaCmd.getGeneralStateBaseAddress());
|
||||
EXPECT_EQ(0u, sbaCmd.getGeneralStateBufferSize());
|
||||
@ -1283,7 +1285,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, givenNonZeroInternalHeapBaseAddres
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_FALSE(sbaCmd.getInstructionBaseAddressModifyEnable());
|
||||
EXPECT_EQ(0ull, sbaCmd.getInstructionBaseAddress());
|
||||
@ -1316,7 +1319,8 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests, givenSbaProgram
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_FALSE(sbaCmd.getDynamicStateBaseAddressModifyEnable());
|
||||
EXPECT_FALSE(sbaCmd.getDynamicStateBufferSizeModifyEnable());
|
||||
|
@ -341,7 +341,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, gi
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_FALSE(sbaCmd.getDynamicStateBaseAddressModifyEnable());
|
||||
EXPECT_FALSE(sbaCmd.getDynamicStateBufferSizeModifyEnable());
|
||||
|
@ -384,7 +384,8 @@ void EncodeStateBaseAddress<Family>::encode(CommandContainer &container, STATE_B
|
||||
false,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
useGlobalAtomics,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
auto pCmd = reinterpret_cast<STATE_BASE_ADDRESS *>(container.getCommandStream()->getSpace(sizeof(STATE_BASE_ADDRESS)));
|
||||
*pCmd = sbaCmd;
|
||||
|
@ -490,7 +490,8 @@ void EncodeStateBaseAddress<Family>::encode(CommandContainer &container, STATE_B
|
||||
multiOsContextCapable,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
useGlobalAtomics,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
auto pCmd = reinterpret_cast<STATE_BASE_ADDRESS *>(container.getCommandStream()->getSpace(sizeof(STATE_BASE_ADDRESS)));
|
||||
*pCmd = sbaCmd;
|
||||
|
@ -421,7 +421,8 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
isMultiOsContextCapable(),
|
||||
memoryCompressionState,
|
||||
dispatchFlags.useGlobalAtomics,
|
||||
dispatchFlags.areMultipleSubDevicesInContext);
|
||||
dispatchFlags.areMultipleSubDevicesInContext,
|
||||
logicalStateHelper.get());
|
||||
|
||||
if (pCmd) {
|
||||
*pCmd = cmd;
|
||||
|
@ -29,7 +29,8 @@ void StateBaseAddressHelper<BDWFamily>::programStateBaseAddress(
|
||||
bool isMultiOsContextCapable,
|
||||
MemoryCompressionState memoryCompressionState,
|
||||
bool useGlobalAtomics,
|
||||
bool areMultipleSubDevicesInContext) {
|
||||
bool areMultipleSubDevicesInContext,
|
||||
LogicalStateHelper *logicalStateHelper) {
|
||||
|
||||
*stateBaseAddress = BDWFamily::cmdInitStateBaseAddress;
|
||||
|
||||
|
@ -15,6 +15,7 @@ enum class MemoryCompressionState;
|
||||
class GmmHelper;
|
||||
class IndirectHeap;
|
||||
class LinearStream;
|
||||
class LogicalStateHelper;
|
||||
struct DispatchFlags;
|
||||
struct HardwareInfo;
|
||||
|
||||
@ -41,7 +42,8 @@ struct StateBaseAddressHelper {
|
||||
bool isMultiOsContextCapable,
|
||||
MemoryCompressionState memoryCompressionState,
|
||||
bool useGlobalAtomics,
|
||||
bool areMultipleSubDevicesInContext);
|
||||
bool areMultipleSubDevicesInContext,
|
||||
LogicalStateHelper *logicalStateHelper);
|
||||
|
||||
static void appendIohParameters(STATE_BASE_ADDRESS *stateBaseAddress, const IndirectHeap *ioh, bool useGlobalHeapsBaseAddress, uint64_t indirectObjectHeapBaseAddress);
|
||||
|
||||
|
@ -35,7 +35,8 @@ void StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(
|
||||
bool isMultiOsContextCapable,
|
||||
MemoryCompressionState memoryCompressionState,
|
||||
bool useGlobalAtomics,
|
||||
bool areMultipleSubDevicesInContext) {
|
||||
bool areMultipleSubDevicesInContext,
|
||||
LogicalStateHelper *logicalStateHelper) {
|
||||
|
||||
*stateBaseAddress = GfxFamily::cmdInitStateBaseAddress;
|
||||
bool overrideBindlessSurfaceStateBase = true;
|
||||
|
@ -68,7 +68,8 @@ HWTEST2_F(SBATest, WhenProgramStateBaseAddressParametersIsCalledThenSBACmdHasBin
|
||||
true,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_EQ(ssh.getMaxAvailableSpace() / 64 - 1, cmd->getBindlessSurfaceStateSize());
|
||||
EXPECT_EQ(ssh.getHeapGpuBase(), cmd->getBindlessSurfaceStateBaseAddress());
|
||||
@ -105,7 +106,8 @@ HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenProgramStateBas
|
||||
true,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
EXPECT_TRUE(cmd->getBindlessSurfaceStateBaseAddressModifyEnable());
|
||||
EXPECT_EQ(cmd->getBindlessSurfaceStateBaseAddress(), globalBindlessHeapsBaseAddress);
|
||||
|
||||
@ -144,7 +146,8 @@ HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenPassingIndirect
|
||||
true,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
|
||||
EXPECT_EQ(cmd->getIndirectObjectBaseAddress(), indirectObjectBaseAddress);
|
||||
}
|
||||
@ -202,7 +205,8 @@ HWTEST2_F(SBATest, givenGlobalBindlessBaseAddressWhenSshIsPassedThenBindlessSurf
|
||||
true,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
EXPECT_EQ(cmd->getBindlessSurfaceStateBaseAddress(), globalBindlessHeapsBaseAddress);
|
||||
}
|
||||
HWTEST2_F(SBATest, givenSurfaceStateHeapWhenNotUsingGlobalHeapBaseThenBindlessSurfaceBaseIsSshBase, IsAtLeastSkl) {
|
||||
@ -233,7 +237,8 @@ HWTEST2_F(SBATest, givenSurfaceStateHeapWhenNotUsingGlobalHeapBaseThenBindlessSu
|
||||
true,
|
||||
MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
1u,
|
||||
nullptr);
|
||||
EXPECT_EQ(ssh.getHeapGpuBase(), cmd->getBindlessSurfaceStateBaseAddress());
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user