Files
compute-runtime/runtime/helpers/state_base_address.h
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00

48 lines
1.3 KiB
C++

/*
* Copyright (C) 2017-2019 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <cstddef>
#include <cstdint>
namespace NEO {
class GmmHelper;
class IndirectHeap;
class LinearStream;
struct DispatchFlags;
template <typename GfxFamily>
struct StateBaseAddressHelper {
using STATE_BASE_ADDRESS = typename GfxFamily::STATE_BASE_ADDRESS;
static void programStateBaseAddress(
LinearStream &commandStream,
const IndirectHeap &dsh,
const IndirectHeap &ioh,
const IndirectHeap &ssh,
uint64_t generalStateBase,
uint32_t statelessMocsIndex,
uint64_t internalHeapBase,
GmmHelper *gmmHelper,
DispatchFlags &dispatchFlags);
static void appendStateBaseAddressParameters(
STATE_BASE_ADDRESS *stateBaseAddress,
const IndirectHeap &dsh,
const IndirectHeap &ioh,
const IndirectHeap &ssh,
uint64_t generalStateBase,
uint64_t internalHeapBase,
GmmHelper *gmmHelper,
DispatchFlags &dispatchFlags);
static void programBindingTableBaseAddress(LinearStream &commandStream, const IndirectHeap &ssh, size_t stateBaseAddressCmdOffset,
GmmHelper *gmmHelper);
};
} // namespace NEO