/* * Copyright (C) 2020 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/command_container/command_encoder.h" #include "shared/source/command_container/command_encoder.inl" #include "shared/source/command_container/command_encoder_base.inl" #include "shared/source/gen12lp/hw_cmds_base.h" #include "shared/source/gen12lp/reg_configs.h" namespace NEO { using Family = TGLLPFamily; template <> void EncodeStates::adjustStateComputeMode(CommandContainer &container) { auto stateComputeModeCmd = Family::cmdInitStateComputeMode; using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE; using FORCE_NON_COHERENT = typename Family::STATE_COMPUTE_MODE::FORCE_NON_COHERENT; stateComputeModeCmd.setForceNonCoherent(FORCE_NON_COHERENT::FORCE_NON_COHERENT_FORCE_GPU_NON_COHERENT); stateComputeModeCmd.setMaskBits(Family::stateComputeModeForceNonCoherentMask); // Commit our commands to the commandStream auto buffer = container.getCommandStream()->getSpace(sizeof(stateComputeModeCmd)); *(decltype(stateComputeModeCmd) *)buffer = stateComputeModeCmd; } template <> size_t EncodeStates::getAdjustStateComputeModeSize() { return sizeof(typename Family::STATE_COMPUTE_MODE); } template struct EncodeDispatchKernel; template struct EncodeStates; template struct EncodeMath; template struct EncodeMathMMIO; template struct EncodeIndirectParams; template struct EncodeSetMMIO; template struct EncodeL3State; template struct EncodeMediaInterfaceDescriptorLoad; template struct EncodeStateBaseAddress; template struct EncodeStoreMMIO; template struct EncodeSurfaceState; template struct EncodeAtomic; template struct EncodeSempahore; template struct EncodeBatchBufferStartOrEnd; template struct EncodeMiFlushDW; } // namespace NEO