feature: add initial support for Xe2 platforms

Related-To: NEO-8188, NEO-10774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2024-07-09 09:29:17 +00:00
committed by Compute-Runtime-Automation
parent 0158decb2b
commit 778645c11e
239 changed files with 13854 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021-2023 Intel Corporation
* Copyright (C) 2021-2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -10,5 +10,6 @@
#include "shared/test/common/gen12lp/test_traits_gen12lp.h"
#include "shared/test/common/gen8/test_traits_gen8.h"
#include "shared/test/common/gen9/test_traits_gen9.h"
#include "shared/test/common/xe2_hpg_core/test_traits_xe2_hpg_core.h"
#include "shared/test/common/xe_hpc_core/test_traits_xe_hpc_core.h"
#include "shared/test/common/xe_hpg_core/test_traits_xe_hpg_core.h"

View File

@@ -0,0 +1,67 @@
/*
* Copyright (C) 2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/helpers/hw_info.h"
#include "shared/test/common/cmd_parse/gen_cmd_parse.h"
#include "shared/test/common/helpers/unit_test_helper.h"
namespace NEO {
template <typename GfxFamily>
const AuxTranslationMode UnitTestHelper<GfxFamily>::requiredAuxTranslationMode = AuxTranslationMode::none;
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::isAdditionalMiSemaphoreWaitRequired(const RootDeviceEnvironment &rootDeviceEnvironment) {
auto programGlobalFenceAsMiMemFenceCommandInCommandStream = true;
if (debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.get() != -1) {
programGlobalFenceAsMiMemFenceCommandInCommandStream = !!debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.get();
}
return !programGlobalFenceAsMiMemFenceCommandInCommandStream;
}
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::getSystolicFlagValueFromPipelineSelectCommand(const typename GfxFamily::PIPELINE_SELECT &pipelineSelectCmd) {
return false;
}
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::requiresTimestampPacketsInSystemMemory(HardwareInfo &hwInfo) {
return !hwInfo.featureTable.flags.ftrLocalMemory;
}
template <typename GfxFamily>
GenCmdList::iterator UnitTestHelper<GfxFamily>::findCsrBaseAddressCommand(GenCmdList::iterator begin, GenCmdList::iterator end) {
return find<typename GfxFamily::STATE_CONTEXT_DATA_BASE_ADDRESS *>(begin, end);
}
template <typename GfxFamily>
std::vector<GenCmdList::iterator> UnitTestHelper<GfxFamily>::findAllMidThreadPreemptionAllocationCommand(GenCmdList::iterator begin, GenCmdList::iterator end) {
return findAll<typename GfxFamily::STATE_CONTEXT_DATA_BASE_ADDRESS *>(begin, end);
}
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::timestampRegisterHighAddress() {
return true;
}
template <typename GfxFamily>
void UnitTestHelper<GfxFamily>::setExtraMidThreadPreemptionFlag(HardwareInfo &hwInfo, bool value) {
hwInfo.featureTable.flags.ftrWalkerMTP = value;
}
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::getPipeControlHdcPipelineFlush(const typename GfxFamily::PIPE_CONTROL &pipeControl) {
return pipeControl.getDataportFlush();
}
template <typename GfxFamily>
void UnitTestHelper<GfxFamily>::setPipeControlHdcPipelineFlush(typename GfxFamily::PIPE_CONTROL &pipeControl, bool hdcPipelineFlush) {
pipeControl.setDataportFlush(hdcPipelineFlush);
}
} // namespace NEO