mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
Remove SBA->IOH programming on XE_HP_SDV
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
7f3b90b07f
commit
4ba4c32766
@@ -218,9 +218,6 @@ const void *HardwareParse::getStatelessArgumentPointer<GenGfxFamily>(const Kerne
|
||||
auto inlineDataSize = 32u;
|
||||
|
||||
auto offsetCrossThreadData = cmdWalker->getIndirectDataStartAddress();
|
||||
auto baseAddress = is64bit ? 0u : cmdSBA->getIndirectObjectBaseAddress();
|
||||
EXPECT_LT(offsetCrossThreadData, baseAddress + cmdSBA->getIndirectObjectBufferSize() * MemoryConstants::pageSize);
|
||||
|
||||
offsetCrossThreadData -= static_cast<uint32_t>(ioh.getGraphicsAllocation()->getGpuAddressToPatch());
|
||||
|
||||
// Get the base of cross thread
|
||||
|
||||
@@ -12,4 +12,5 @@ template <>
|
||||
struct TestTraits<IGFX_GEN11_CORE> {
|
||||
static constexpr bool auxBuiltinsSupported = true;
|
||||
static constexpr bool programOnlyChangedFieldsInComputeStateMode = true;
|
||||
static constexpr bool iohInSbaSupported = true;
|
||||
};
|
||||
|
||||
@@ -12,4 +12,5 @@ template <>
|
||||
struct TestTraits<IGFX_GEN12LP_CORE> {
|
||||
static constexpr bool auxBuiltinsSupported = true;
|
||||
static constexpr bool programOnlyChangedFieldsInComputeStateMode = true;
|
||||
static constexpr bool iohInSbaSupported = true;
|
||||
};
|
||||
|
||||
@@ -12,4 +12,5 @@ template <>
|
||||
struct TestTraits<IGFX_GEN8_CORE> {
|
||||
static constexpr bool auxBuiltinsSupported = true;
|
||||
static constexpr bool programOnlyChangedFieldsInComputeStateMode = true;
|
||||
static constexpr bool iohInSbaSupported = true;
|
||||
};
|
||||
|
||||
@@ -12,4 +12,5 @@ template <>
|
||||
struct TestTraits<IGFX_GEN9_CORE> {
|
||||
static constexpr bool auxBuiltinsSupported = true;
|
||||
static constexpr bool programOnlyChangedFieldsInComputeStateMode = true;
|
||||
static constexpr bool iohInSbaSupported = true;
|
||||
};
|
||||
|
||||
@@ -109,7 +109,10 @@ HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenProgramStateBas
|
||||
EXPECT_EQ(cmd->getBindlessSurfaceStateBaseAddress(), globalBindlessHeapsBaseAddress);
|
||||
EXPECT_EQ(cmd->getBindlessSurfaceStateSize(), MemoryConstants::sizeOf4GBinPageEntities);
|
||||
}
|
||||
HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenPassingIndirectBaseAddressThenIndirectBaseAddressIsSet, IsSklOrAbove) {
|
||||
|
||||
using IohSupported = IsWithinGfxCore<GFXCORE_FAMILY::IGFX_GEN9_CORE, GFXCORE_FAMILY::IGFX_GEN12LP_CORE>;
|
||||
|
||||
HWTEST2_F(SbaForBindlessTests, givenGlobalBindlessBaseAddressWhenPassingIndirectBaseAddressThenIndirectBaseAddressIsSet, IohSupported) {
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
|
||||
EXPECT_NE(IGFX_BROADWELL, ::productFamily);
|
||||
|
||||
@@ -18,4 +18,5 @@ struct TestTraits<IGFX_XE_HP_CORE> {
|
||||
static constexpr bool forceNonCoherentSupported = true;
|
||||
static constexpr bool threadPreemptionDisableBitMatcher = true;
|
||||
static constexpr bool programOnlyChangedFieldsInComputeStateMode = false;
|
||||
static constexpr bool iohInSbaSupported = false;
|
||||
};
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#include "shared/test/common/helpers/unit_test_helper.h"
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
|
||||
#include "test_traits_common.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
using CommandEncodeStatesTest = Test<CommandEncodeStatesFixture>;
|
||||
@@ -249,7 +251,7 @@ HWTEST_F(CommandEncodeStatesTest, givenCreatedSurfaceStateBufferWhenGpuCoherency
|
||||
alignedFree(stateBuffer);
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithDirtyHeapsWhenSetStateBaseAddressCalledThenStateBaseAddressAreNotSet) {
|
||||
HWTEST2_F(CommandEncodeStatesTest, givenCommandContainerWithDirtyHeapsWhenSetStateBaseAddressCalledThenStateBaseAddressAreNotSet, MatchAny) {
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
cmdContainer->dirtyHeaps = 0;
|
||||
|
||||
@@ -261,7 +263,6 @@ HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithDirtyHeapsWhenSetStat
|
||||
EncodeStateBaseAddress<FamilyType>::encode(*cmdContainer.get(), sba);
|
||||
|
||||
auto dsh = cmdContainer->getIndirectHeap(NEO::HeapType::DYNAMIC_STATE);
|
||||
auto ioh = cmdContainer->getIndirectHeap(NEO::HeapType::INDIRECT_OBJECT);
|
||||
auto ssh = cmdContainer->getIndirectHeap(NEO::HeapType::SURFACE_STATE);
|
||||
|
||||
GenCmdList commands;
|
||||
@@ -271,12 +272,17 @@ HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithDirtyHeapsWhenSetStat
|
||||
auto pCmd = genCmdCast<STATE_BASE_ADDRESS *>(*itorCmd);
|
||||
|
||||
EXPECT_EQ(dsh->getHeapGpuBase(), pCmd->getDynamicStateBaseAddress());
|
||||
EXPECT_EQ(ioh->getHeapGpuBase(), pCmd->getIndirectObjectBaseAddress());
|
||||
EXPECT_EQ(ssh->getHeapGpuBase(), pCmd->getSurfaceStateBaseAddress());
|
||||
|
||||
EXPECT_EQ(sba.getDynamicStateBaseAddress(), pCmd->getDynamicStateBaseAddress());
|
||||
EXPECT_EQ(sba.getIndirectObjectBaseAddress(), pCmd->getIndirectObjectBaseAddress());
|
||||
EXPECT_EQ(sba.getSurfaceStateBaseAddress(), pCmd->getSurfaceStateBaseAddress());
|
||||
|
||||
if constexpr (TestTraits<gfxCoreFamily>::iohInSbaSupported) {
|
||||
auto ioh = cmdContainer->getIndirectHeap(NEO::HeapType::INDIRECT_OBJECT);
|
||||
|
||||
EXPECT_EQ(ioh->getHeapGpuBase(), pCmd->getIndirectObjectBaseAddress());
|
||||
EXPECT_EQ(sba.getIndirectObjectBaseAddress(), pCmd->getIndirectObjectBaseAddress());
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWhenSetStateBaseAddressCalledThenStateBaseAddressIsSetCorrectly) {
|
||||
|
||||
Reference in New Issue
Block a user