59 lines
2.0 KiB
C++
59 lines
2.0 KiB
C++
/*
|
|
* Copyright (C) 2024 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#include "shared/source/memory_manager/allocation_type.h"
|
|
#include "shared/source/release_helper/release_helper.h"
|
|
#include "shared/source/release_helper/release_helper_base.inl"
|
|
#include "shared/source/xe2_hpg_core/hw_cmds_base.h"
|
|
|
|
#include "release_definitions.h"
|
|
|
|
#include <algorithm>
|
|
|
|
namespace NEO {
|
|
constexpr auto release = ReleaseType::release2004;
|
|
|
|
template <>
|
|
inline bool ReleaseHelperHw<release>::isAuxSurfaceModeOverrideRequired() const {
|
|
return true;
|
|
}
|
|
|
|
template <>
|
|
bool ReleaseHelperHw<release>::isLocalOnlyAllowed() const {
|
|
return false;
|
|
}
|
|
|
|
template <>
|
|
bool ReleaseHelperHw<release>::isBindlessAddressingDisabled() const {
|
|
return false;
|
|
}
|
|
|
|
template <>
|
|
const SizeToPreferredSlmValueArray &ReleaseHelperHw<release>::getSizeToPreferredSlmValue(bool isHeapless) const {
|
|
using PREFERRED_SLM_ALLOCATION_SIZE = typename Xe2HpgCoreFamily::INTERFACE_DESCRIPTOR_DATA::PREFERRED_SLM_ALLOCATION_SIZE;
|
|
static const SizeToPreferredSlmValueArray sizeToPreferredSlmValue = {{
|
|
{0, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_0K},
|
|
{16 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_16K},
|
|
{32 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_32K},
|
|
{64 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_64K},
|
|
{96 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_96K},
|
|
{std::numeric_limits<uint32_t>::max(), PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_SLM_ENCODES_128K},
|
|
}};
|
|
return sizeToPreferredSlmValue;
|
|
}
|
|
|
|
template <>
|
|
bool ReleaseHelperHw<release>::getFtrXe2Compression() const {
|
|
return false;
|
|
}
|
|
|
|
} // namespace NEO
|
|
|
|
#include "shared/source/release_helper/release_helper_common_xe2_hpg.inl"
|
|
|
|
template class NEO::ReleaseHelperHw<NEO::release>;
|