mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
unTypedDataPortCacheFlush pipe_control helper support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
bac79244d5
commit
d07c76c237
@@ -148,7 +148,7 @@ void HardwareCommandsHelper<GfxFamily>::programCacheFlushAfterWalkerCommand(Line
|
||||
// 1. make sure previous kernel finished
|
||||
PipeControlArgs args;
|
||||
auto &hardwareInfo = commandQueue.getDevice().getHardwareInfo();
|
||||
args.adjustArgs(hardwareInfo);
|
||||
args.unTypedDataPortCacheFlush = HwHelper::get(hardwareInfo.platform.eRenderCoreFamily).unTypedDataPortCacheFlushRequired();
|
||||
|
||||
MemorySynchronizationCommands<GfxFamily>::addPipeControl(*commandStream, args);
|
||||
|
||||
|
||||
@@ -1325,9 +1325,9 @@ HWTEST_F(HwHelperTest, whenIsSipKernelAsHexadecimalArrayPreferredIsCalledThenRet
|
||||
}
|
||||
|
||||
using isXeHpCoreOrBelow = IsAtMostProduct<IGFX_XE_HP_SDV>;
|
||||
HWTEST2_F(HwHelperTest, givenXeHPAndBelowPlatformWhenCheckingIfAdditionalPipeControlArgsAreRequiredThenReturnFalse, isXeHpCoreOrBelow) {
|
||||
HWTEST2_F(HwHelperTest, givenXeHPAndBelowPlatformWhenCheckingIfUnTypedDataPortCacheFlushRequiredThenReturnFalse, isXeHpCoreOrBelow) {
|
||||
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||
EXPECT_FALSE(hwHelper.additionalPipeControlArgsRequired());
|
||||
EXPECT_FALSE(hwHelper.unTypedDataPortCacheFlushRequired());
|
||||
}
|
||||
|
||||
HWTEST2_F(HwHelperTest, givenXeHPAndBelowPlatformPlatformWhenCheckingIfEngineTypeRemappingIsRequiredThenReturnFalse, isXeHpCoreOrBelow) {
|
||||
|
||||
@@ -150,9 +150,9 @@ HWTEST2_F(PipeControlHelperTestsDg2AndLater, givenDebugDisableCacheFlushWhenProg
|
||||
EXPECT_FALSE(pipeControl->getCompressionControlSurfaceCcsFlush());
|
||||
}
|
||||
|
||||
HWTEST2_F(HwHelperTestsDg2AndLater, givenXeHPGAndLaterPlatformWhenCheckingIfUntypedDataPortCacheFlushIsRequiredThenReturnTrue, IsAtLeastXeHpgCore) {
|
||||
HWTEST2_F(HwHelperTestsDg2AndLater, givenXeHPGAndLaterPlatformWhenCheckingIfUnTypedDataPortCacheFlushRequiredThenReturnTrue, IsAtLeastXeHpgCore) {
|
||||
auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||
EXPECT_TRUE(hwHelper.additionalPipeControlArgsRequired());
|
||||
EXPECT_TRUE(hwHelper.unTypedDataPortCacheFlushRequired());
|
||||
}
|
||||
|
||||
using HwInfoConfigTestDg2AndLater = ::testing::Test;
|
||||
|
||||
@@ -130,7 +130,6 @@ set(NEO_CORE_HELPERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/definitions/mi_flush_args.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/definitions/pipe_control_args_base.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}pipe_control_args.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}pipe_control_args.cpp
|
||||
)
|
||||
|
||||
if(SUPPORT_XEHP_AND_LATER)
|
||||
|
||||
@@ -14,6 +14,5 @@ struct HardwareInfo;
|
||||
struct PipeControlArgs : PipeControlArgsBase {
|
||||
PipeControlArgs() = default;
|
||||
PipeControlArgs(bool dcFlush) : PipeControlArgsBase(dcFlush) {}
|
||||
void adjustArgs(const HardwareInfo &hwInfo);
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -132,7 +132,7 @@ class HwHelper {
|
||||
virtual size_t getSingleTimestampPacketSize() const = 0;
|
||||
virtual void applyAdditionalCompressionSettings(Gmm &gmm, bool isNotCompressed) const = 0;
|
||||
virtual void applyRenderCompressionFlag(Gmm &gmm, uint32_t isCompressed) const = 0;
|
||||
virtual bool additionalPipeControlArgsRequired() const = 0;
|
||||
virtual bool unTypedDataPortCacheFlushRequired() const = 0;
|
||||
virtual bool isEngineTypeRemappingToHwSpecificRequired() const = 0;
|
||||
|
||||
static uint32_t getSubDevicesCount(const HardwareInfo *pHwInfo);
|
||||
@@ -363,7 +363,7 @@ class HwHelperHw : public HwHelper {
|
||||
|
||||
void applyRenderCompressionFlag(Gmm &gmm, uint32_t isCompressed) const override;
|
||||
|
||||
bool additionalPipeControlArgsRequired() const override;
|
||||
bool unTypedDataPortCacheFlushRequired() const override;
|
||||
|
||||
bool isAssignEngineRoundRobinSupported() const override;
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ inline void MemorySynchronizationCommands<GfxFamily>::setPipeControlWAFlags(PIPE
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
bool HwHelperHw<GfxFamily>::additionalPipeControlArgsRequired() const {
|
||||
bool HwHelperHw<GfxFamily>::unTypedDataPortCacheFlushRequired() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ void MemorySynchronizationCommands<Family>::setPipeControlWAFlags(PIPE_CONTROL &
|
||||
}
|
||||
|
||||
template <>
|
||||
bool HwHelperHw<Family>::additionalPipeControlArgsRequired() const {
|
||||
bool HwHelperHw<Family>::unTypedDataPortCacheFlushRequired() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "pipe_control_args.h"
|
||||
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
|
||||
namespace NEO {
|
||||
void PipeControlArgs::adjustArgs(const HardwareInfo &hwInfo) {
|
||||
}
|
||||
} // namespace NEO
|
||||
@@ -145,7 +145,7 @@ void MemorySynchronizationCommands<Family>::setCacheFlushExtraProperties(PipeCon
|
||||
}
|
||||
|
||||
template <>
|
||||
bool HwHelperHw<Family>::additionalPipeControlArgsRequired() const {
|
||||
bool HwHelperHw<Family>::unTypedDataPortCacheFlushRequired() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user