/* * Copyright (C) 2019-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/helpers/state_base_address_base.inl" namespace NEO { template void StateBaseAddressHelper::programBindingTableBaseAddress(LinearStream &commandStream, uint64_t baseAddress, uint32_t sizeInPages, GmmHelper *gmmHelper) { } template void StateBaseAddressHelper::appendIohParameters(StateBaseAddressHelperArgs &args) { if (args.sbaProperties) { if (args.sbaProperties->indirectObjectBaseAddress.value != StreamProperty64::initValue) { auto baseAddress = static_cast(args.sbaProperties->indirectObjectBaseAddress.value); args.stateBaseAddressCmd->setIndirectObjectBaseAddress(args.gmmHelper->decanonize(baseAddress)); args.stateBaseAddressCmd->setIndirectObjectBaseAddressModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBufferSizeModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBufferSize(static_cast(args.sbaProperties->indirectObjectSize.value)); } } else if (args.useGlobalHeapsBaseAddress) { args.stateBaseAddressCmd->setIndirectObjectBaseAddressModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBufferSizeModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBaseAddress(args.indirectObjectHeapBaseAddress); args.stateBaseAddressCmd->setIndirectObjectBufferSize(MemoryConstants::sizeOf4GBinPageEntities); } else if (args.ioh) { args.stateBaseAddressCmd->setIndirectObjectBaseAddressModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBufferSizeModifyEnable(true); args.stateBaseAddressCmd->setIndirectObjectBaseAddress(args.ioh->getHeapGpuBase()); args.stateBaseAddressCmd->setIndirectObjectBufferSize(args.ioh->getHeapSizeInPages()); } } template void StateBaseAddressHelper::appendExtraCacheSettings(StateBaseAddressHelperArgs &args) {} } // namespace NEO