/* * Copyright (C) 2020-2022 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/helpers/hw_helper.h" #include "shared/source/helpers/hw_info.h" namespace NEO { template inline bool GfxCoreHelperHw::isFusedEuDispatchEnabled(const HardwareInfo &hwInfo, bool disableEUFusionForKernel) const { auto fusedEuDispatchEnabled = !hwInfo.workaroundTable.flags.waDisableFusedThreadScheduling; fusedEuDispatchEnabled &= hwInfo.capabilityTable.fusedEuEnabled; if (DebugManager.flags.CFEFusedEUDispatch.get() != -1) { fusedEuDispatchEnabled = (DebugManager.flags.CFEFusedEUDispatch.get() == 0); } return fusedEuDispatchEnabled; } template void LriHelper::program(LinearStream *cmdStream, uint32_t address, uint32_t value, bool remap) { MI_LOAD_REGISTER_IMM cmd = Family::cmdInitLoadRegisterImm; cmd.setRegisterOffset(address); cmd.setDataDword(value); cmd.setMmioRemapEnable(remap); auto lri = cmdStream->getSpaceForCmd(); *lri = cmd; } template bool GfxCoreHelperHw::packedFormatsSupported() const { return true; } template size_t GfxCoreHelperHw::getMaxFillPaternSizeForCopyEngine() const { return 4 * sizeof(uint32_t); } } // namespace NEO