/* * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/release_helper/release_helper.h" #include "shared/source/release_helper/release_helper_base.inl" #include "shared/source/xe_hpg_core/hw_cmds_xe_hpg_core_base.h" #include "platforms.h" #include "release_definitions.h" #include namespace NEO { constexpr auto release = ReleaseType::release1270; template <> bool ReleaseHelperHw::isPipeControlPriorToNonPipelinedStateCommandsWARequired() const { return hardwareIpVersion.value == AOT::MTL_U_A0; } template <> bool ReleaseHelperHw::isProgramAllStateComputeCommandFieldsWARequired() const { return hardwareIpVersion.value == AOT::MTL_U_A0; } template <> inline bool ReleaseHelperHw::isAuxSurfaceModeOverrideRequired() const { return true; } template <> bool ReleaseHelperHw::isDirectSubmissionLightSupported() const { return true; } template <> inline bool ReleaseHelperHw::isDotProductAccumulateSystolicSupported() const { return false; } template <> inline bool ReleaseHelperHw::isBindlessAddressingDisabled() const { return false; } template <> inline bool ReleaseHelperHw::isGlobalBindlessAllocatorEnabled() const { return true; } template <> const SizeToPreferredSlmValueArray &ReleaseHelperHw::getSizeToPreferredSlmValue(bool isHeapless) const { using PREFERRED_SLM_ALLOCATION_SIZE = typename XeHpgCoreFamily::INTERFACE_DESCRIPTOR_DATA::PREFERRED_SLM_ALLOCATION_SIZE; static const SizeToPreferredSlmValueArray sizeToPreferredSlmValue = {{ {0, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_0KB}, {16 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_16KB}, {32 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_32KB}, {64 * MemoryConstants::kiloByte, PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_64KB}, {std::numeric_limits::max(), PREFERRED_SLM_ALLOCATION_SIZE::PREFERRED_SLM_ALLOCATION_SIZE_96KB}, }}; return sizeToPreferredSlmValue; } template <> bool ReleaseHelperHw::isDummyBlitWaRequired() const { return true; } } // namespace NEO #include "shared/source/release_helper/release_helper_common_xe_lpg.inl" template class NEO::ReleaseHelperHw;