mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Initial DG2 support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b8aa2871bd
commit
91dfa5c2ac
@@ -144,6 +144,12 @@ if(SUPPORT_XEHP_AND_LATER)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(SUPPORT_DG2_AND_LATER)
|
||||
list(APPEND NEO_CORE_HELPERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/hw_helper_dg2_and_later.inl
|
||||
)
|
||||
endif()
|
||||
|
||||
set(NEO_CORE_HELPERS_GMM_CALLBACKS_WINDOWS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/windows/gmm_callbacks.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/windows/gmm_callbacks.h
|
||||
|
||||
@@ -20,4 +20,7 @@
|
||||
#endif
|
||||
#ifdef SUPPORT_XE_HP_CORE
|
||||
#include "shared/source/xe_hp_core/hw_cmds.h"
|
||||
#endif
|
||||
#ifdef SUPPORT_XE_HPG_CORE
|
||||
#include "shared/source/xe_hpg_core/hw_cmds.h"
|
||||
#endif
|
||||
61
shared/source/helpers/hw_helper_dg2_and_later.inl
Normal file
61
shared/source/helpers/hw_helper_dg2_and_later.inl
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/command_container/command_encoder.h"
|
||||
#include "shared/source/helpers/hw_helper.h"
|
||||
|
||||
#include "pipe_control_args.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
inline void MemorySynchronizationCommands<GfxFamily>::setPipeControlExtraProperties(PIPE_CONTROL &pipeControl, PipeControlArgs &args) {
|
||||
pipeControl.setHdcPipelineFlush(args.hdcPipelineFlush);
|
||||
pipeControl.setUnTypedDataPortCacheFlush(args.unTypedDataPortCacheFlush);
|
||||
pipeControl.setCompressionControlSurfaceCcsFlush(args.compressionControlSurfaceCcsFlush);
|
||||
pipeControl.setWorkloadPartitionIdOffsetEnable(args.workloadPartitionOffset);
|
||||
pipeControl.setAmfsFlushEnable(args.amfsFlushEnable);
|
||||
|
||||
if (DebugManager.flags.FlushAllCaches.get()) {
|
||||
pipeControl.setHdcPipelineFlush(true);
|
||||
pipeControl.setUnTypedDataPortCacheFlush(true);
|
||||
pipeControl.setCompressionControlSurfaceCcsFlush(true);
|
||||
}
|
||||
if (DebugManager.flags.DoNotFlushCaches.get()) {
|
||||
pipeControl.setHdcPipelineFlush(false);
|
||||
pipeControl.setUnTypedDataPortCacheFlush(false);
|
||||
pipeControl.setCompressionControlSurfaceCcsFlush(false);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
inline void MemorySynchronizationCommands<GfxFamily>::setPostSyncExtraProperties(PipeControlArgs &args, const HardwareInfo &hwInfo) {
|
||||
if (hwInfo.featureTable.ftrLocalMemory) {
|
||||
args.hdcPipelineFlush = true;
|
||||
args.unTypedDataPortCacheFlush = true;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
inline void MemorySynchronizationCommands<GfxFamily>::setCacheFlushExtraProperties(PipeControlArgs &args) {
|
||||
args.hdcPipelineFlush = true;
|
||||
args.unTypedDataPortCacheFlush = true;
|
||||
}
|
||||
|
||||
template <>
|
||||
void MemorySynchronizationCommands<Family>::setPipeControlWAFlags(PIPE_CONTROL &pipeControl) {
|
||||
pipeControl.setCommandStreamerStallEnable(true);
|
||||
pipeControl.setHdcPipelineFlush(true);
|
||||
pipeControl.setUnTypedDataPortCacheFlush(true);
|
||||
}
|
||||
|
||||
template <>
|
||||
bool HwHelperHw<Family>::additionalPipeControlArgsRequired() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
Reference in New Issue
Block a user