mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Add struct argument for input/output in StateBaseAddressHelper
This refactor makes future interface changes easier Related-To: NEO-5019 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9b1afe4067
commit
ceb9d81f87
@@ -52,23 +52,27 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
|
||||
auto indirectObjectHeapBaseAddress = neoDevice->getMemoryManager()->getInternalHeapBaseAddress(device->getRootDeviceIndex(), useLocalMemoryForIndirectHeap);
|
||||
auto instructionHeapBaseAddress = neoDevice->getMemoryManager()->getInternalHeapBaseAddress(device->getRootDeviceIndex(), neoDevice->getMemoryManager()->isLocalMemoryUsedForIsa(neoDevice->getRootDeviceIndex()));
|
||||
|
||||
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(&sbaCmd,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
gsba,
|
||||
true,
|
||||
(device->getMOCS(cachedMOCSAllowed, false) >> 1),
|
||||
indirectObjectHeapBaseAddress,
|
||||
instructionHeapBaseAddress,
|
||||
globalHeapsBase,
|
||||
true,
|
||||
useGlobalSshAndDsh,
|
||||
neoDevice->getGmmHelper(),
|
||||
false,
|
||||
NEO::MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
NEO::StateBaseAddressHelperArgs<GfxFamily> args = {
|
||||
gsba, // generalStateBase
|
||||
indirectObjectHeapBaseAddress, // indirectObjectHeapBaseAddress
|
||||
instructionHeapBaseAddress, // instructionHeapBaseAddress
|
||||
globalHeapsBase, // globalHeapsBaseAddress
|
||||
&sbaCmd, // stateBaseAddressCmd
|
||||
nullptr, // dsh
|
||||
nullptr, // ioh
|
||||
nullptr, // ssh
|
||||
neoDevice->getGmmHelper(), // gmmHelper
|
||||
(device->getMOCS(cachedMOCSAllowed, false) >> 1), // statelessMocsIndex
|
||||
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
|
||||
true, // setInstructionStateBaseAddress
|
||||
true, // setGeneralStateBaseAddress
|
||||
useGlobalSshAndDsh, // useGlobalHeapsBaseAddress
|
||||
false, // isMultiOsContextCapable
|
||||
false, // useGlobalAtomics
|
||||
false // areMultipleSubDevicesInContext
|
||||
};
|
||||
|
||||
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(args);
|
||||
*sbaCmdBuf = sbaCmd;
|
||||
csr->setGSBAStateDirty(false);
|
||||
|
||||
|
||||
@@ -43,23 +43,27 @@ void CommandQueueHw<gfxCoreFamily>::programStateBaseAddress(uint64_t gsba, bool
|
||||
auto sbaCmdBuf = static_cast<STATE_BASE_ADDRESS *>(NEO::StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream));
|
||||
|
||||
STATE_BASE_ADDRESS sbaCmd;
|
||||
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(&sbaCmd,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
0,
|
||||
true,
|
||||
(device->getMOCS(cachedMOCSAllowed, false) >> 1),
|
||||
indirectObjectStateBaseAddress,
|
||||
instructionStateBaseAddress,
|
||||
globalHeapsBase,
|
||||
true,
|
||||
true,
|
||||
neoDevice->getGmmHelper(),
|
||||
multiOsContextCapable,
|
||||
NEO::MemoryCompressionState::NotApplicable,
|
||||
false,
|
||||
1u);
|
||||
NEO::StateBaseAddressHelperArgs<GfxFamily> args = {
|
||||
0, // generalStateBase
|
||||
indirectObjectStateBaseAddress, // indirectObjectHeapBaseAddress
|
||||
instructionStateBaseAddress, // instructionHeapBaseAddress
|
||||
globalHeapsBase, // globalHeapsBaseAddress
|
||||
&sbaCmd, // stateBaseAddressCmd
|
||||
nullptr, // dsh
|
||||
nullptr, // ioh
|
||||
nullptr, // ssh
|
||||
neoDevice->getGmmHelper(), // gmmHelper
|
||||
(device->getMOCS(cachedMOCSAllowed, false) >> 1), // statelessMocsIndex
|
||||
NEO::MemoryCompressionState::NotApplicable, // memoryCompressionState
|
||||
true, // setInstructionStateBaseAddress
|
||||
true, // setGeneralStateBaseAddress
|
||||
true, // useGlobalHeapsBaseAddress
|
||||
multiOsContextCapable, // isMultiOsContextCapable
|
||||
false, // useGlobalAtomics
|
||||
false // areMultipleSubDevicesInContext
|
||||
};
|
||||
|
||||
NEO::StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(args);
|
||||
*sbaCmdBuf = sbaCmd;
|
||||
|
||||
auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
Reference in New Issue
Block a user