/* * Copyright (C) 2021-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once using IsGen12LP = IsGfxCore; using IsAtLeastGen12LP = IsAtLeastGfxCore; using IsXeHpgCore = IsGfxCore; using IsXeHpcCore = IsGfxCore; using IsNotXeHpcCore = IsNotGfxCore; using IsNotXeHpgCore = IsNotGfxCore; using IsXe2HpgCore = IsGfxCore; using IsNotXe2HpgCore = IsNotGfxCore; using IsWithinXeGfxFamily = IsWithinGfxCore; using IsNotWithinXeGfxFamily = IsNotAnyGfxCores; using IsAtLeastXeHpCore = IsAtLeastGfxCore; using IsAtMostXeHpCore = IsAtMostGfxCore; using IsBeforeXeHpCore = IsBeforeGfxCore; using IsAtLeastXeHpgCore = IsAtLeastGfxCore; using IsAtMostXeHpgCore = IsAtMostGfxCore; using IsBeforeXeHpgCore = IsBeforeGfxCore; using IsAtLeastXeHpcCore = IsAtLeastGfxCore; using IsAtMostXeHpcCore = IsAtMostGfxCore; using IsBeforeXeHpcCore = IsBeforeGfxCore; using IsAtLeastXe2HpgCore = IsAtLeastGfxCore; using IsAtMostXe2HpgCore = IsAtMostGfxCore; using IsWithinXeHpCoreAndXe2HpgCore = IsWithinGfxCore; using IsXeHpcCoreOrXe2HpgCore = IsAnyGfxCores; using IsWithinXeHpCoreAndXe3Core = IsWithinGfxCore; using IsXeHpOrXeHpgCore = IsAnyGfxCores; using IsXeHpOrXeHpcCore = IsAnyGfxCores; using IsXeHpcOrXeHpgCore = IsAnyGfxCores; using IsXeHpOrXeHpcOrXeHpgCore = IsAnyGfxCores; using IsNotXeHpOrXeHpgCore = IsNotAnyGfxCores; using IsNotXeHpOrXeHpcCore = IsNotAnyGfxCores; using IsNotXeHpgOrXeHpcCore = IsNotAnyGfxCores; using IsXe2HpgCoreOrXe3Core = IsAnyGfxCores; using IsXe3Core = IsGfxCore; using IsAtLeastXe3Core = IsAtLeastGfxCore; using IsAtMostXe3Core = IsAtMostGfxCore; using IsTGLLP = IsProduct; using IsDG1 = IsProduct; using IsADLS = IsProduct; using IsADLP = IsProduct; using IsRKL = IsProduct; using IsMTL = IsProduct; using IsARL = IsProduct; using IsDG2 = IsProduct; using IsPVC = IsProduct; using IsBMG = IsProduct; using IsNotBMG = IsNotWithinProducts; using IsLNL = IsProduct; using IsPTL = IsProduct; using IsAtLeastMtl = IsAtLeastProduct; using IsAtMostDg2 = IsAtMostProduct; using IsNotDG1 = IsNotWithinProducts; using IsAtLeastPVC = IsAtLeastProduct; using IsAtMostPVC = IsAtMostProduct; using IsNotPVC = IsNotWithinProducts; using IsNotDG2 = IsNotWithinProducts; using IsNotMTL = IsNotWithinProducts; using IsNotPvcOrDg2 = IsNotWithinProducts; using IsAtMostArl = IsAtMostProduct; using IsAtLeastBmg = IsAtLeastProduct; using HasStatefulSupport = IsNotAnyGfxCores; using HasNoStatefulSupport = IsAnyGfxCores; using HasOclocZebinFormatEnforced = IsAnyProducts; struct IsXeLpg { template static constexpr bool isMatched() { return IsXeHpgCore::isMatched() && !IsDG2::isMatched(); } }; struct IsStatefulBufferPreferredForProduct { template static constexpr bool isMatched() { return IsGen12LP::isMatched() || IsXeHpgCore::isMatched(); } }; struct IsStatelessBufferPreferredForProduct { template static constexpr bool isMatched() { return !IsStatefulBufferPreferredForProduct::isMatched(); } };