/* * Copyright (C) 2020-2022 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/helpers/state_base_address.h" namespace NEO { template void StateBaseAddressHelper::appendStateBaseAddressParameters( StateBaseAddressHelperArgs &args, bool overrideBindlessSurfaceStateBase) { if (overrideBindlessSurfaceStateBase && args.ssh) { args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true); args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(args.ssh->getHeapGpuBase()); uint32_t size = uint32_t(args.ssh->getMaxAvailableSpace() / 64) - 1; args.stateBaseAddressCmd->setBindlessSurfaceStateSize(size); } } template uint32_t StateBaseAddressHelper::getMaxBindlessSurfaceStates() { return (1 << 20) - 1; } } // namespace NEO