Add unit test helper function to set pipe control hdc flush

Separate unit test helper definitions bdw_and_later / xe_hp_and_later

Related-To: NEO-6466

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2022-01-17 12:54:53 +00:00
committed by Compute-Runtime-Automation
parent fc224202d6
commit e5a18177c5
26 changed files with 142 additions and 97 deletions

View File

@@ -21,6 +21,7 @@ struct GEN11 {
#include "shared/source/generated/gen11/hw_cmds_generated_gen11.inl"
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {
struct {

View File

@@ -23,6 +23,7 @@ struct GEN12LP {
#include "shared/source/generated/gen12lp/hw_cmds_generated_gen12lp.inl"
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
static constexpr uint32_t stateComputeModeForceNonCoherentMask = (0b11u << 3);
struct DataPortBindlessSurfaceExtendedMessageDescriptor {

View File

@@ -23,6 +23,7 @@ struct GEN8 {
#include "shared/source/generated/gen8/hw_cmds_generated_gen8.inl"
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {
struct {

View File

@@ -23,6 +23,7 @@ struct GEN9 {
#include "shared/source/generated/gen9/hw_cmds_generated_gen9.inl"
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {
struct {

View File

@@ -313,11 +313,13 @@ void MemorySynchronizationCommands<GfxFamily>::setPipeControl(typename GfxFamily
pipeControl.setStateCacheInvalidationEnable(args.stateCacheInvalidationEnable);
pipeControl.setTextureCacheInvalidationEnable(args.textureCacheInvalidationEnable);
pipeControl.setVfCacheInvalidationEnable(args.vfCacheInvalidationEnable);
pipeControl.setGenericMediaStateClear(args.genericMediaStateClear);
pipeControl.setTlbInvalidate(args.tlbInvalidation);
pipeControl.setNotifyEnable(args.notifyEnable);
pipeControl.setDcFlushEnable(args.dcFlushEnable);
if constexpr (GfxFamily::isUsingGenericMediaStateClear) {
pipeControl.setGenericMediaStateClear(args.genericMediaStateClear);
}
setPipeControlExtraProperties(pipeControl, args);
if (DebugManager.flags.FlushAllCaches.get()) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021 Intel Corporation
* Copyright (C) 2021-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -45,8 +45,8 @@ inline void MemorySynchronizationCommands<GfxFamily>::setCacheFlushExtraProperti
args.unTypedDataPortCacheFlush = true;
}
template <>
void MemorySynchronizationCommands<Family>::setPipeControlWAFlags(PIPE_CONTROL &pipeControl) {
template <typename GfxFamily>
void MemorySynchronizationCommands<GfxFamily>::setPipeControlWAFlags(PIPE_CONTROL &pipeControl) {
pipeControl.setCommandStreamerStallEnable(true);
pipeControl.setHdcPipelineFlush(true);
pipeControl.setUnTypedDataPortCacheFlush(true);

View File

@@ -30,6 +30,7 @@ struct XeHpCore {
static constexpr bool isUsingL3Control = true;
static constexpr bool isUsingMediaSamplerDopClockGate = true;
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {

View File

@@ -36,6 +36,7 @@ struct XE_HPC_CORE {
static constexpr bool isUsingL3Control = false;
static constexpr bool isUsingMediaSamplerDopClockGate = false;
static constexpr bool supportsSampler = false;
static constexpr bool isUsingGenericMediaStateClear = true;
static bool isXlA0(const HardwareInfo &hwInfo) {
auto revId = hwInfo.platform.usRevId & pvcSteppingBits;

View File

@@ -30,6 +30,7 @@ struct XE_HPG_CORE {
static constexpr bool isUsingL3Control = true;
static constexpr bool isUsingMediaSamplerDopClockGate = false;
static constexpr bool supportsSampler = true;
static constexpr bool isUsingGenericMediaStateClear = true;
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {