2019-09-19 01:32:33 +08:00
|
|
|
/*
|
2020-02-22 16:28:27 +08:00
|
|
|
* Copyright (C) 2019-2020 Intel Corporation
|
2019-09-19 01:32:33 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/gen12lp/hw_info.h"
|
2020-02-24 17:22:30 +08:00
|
|
|
|
2020-02-23 05:50:57 +08:00
|
|
|
#include "opencl/source/command_queue/gpgpu_walker_bdw_plus.inl"
|
|
|
|
#include "opencl/source/command_queue/hardware_interface_bdw_plus.inl"
|
2019-09-19 01:32:33 +08:00
|
|
|
|
|
|
|
namespace NEO {
|
|
|
|
|
|
|
|
template <>
|
|
|
|
void GpgpuWalkerHelper<TGLLPFamily>::adjustMiStoreRegMemMode(MI_STORE_REG_MEM<TGLLPFamily> *storeCmd) {
|
|
|
|
storeCmd->setMmioRemapEnable(true);
|
|
|
|
}
|
|
|
|
|
2020-09-03 15:06:11 +08:00
|
|
|
template <>
|
|
|
|
void GpgpuWalkerHelper<TGLLPFamily>::dispatchProfilingCommandsStart(
|
|
|
|
TagNode<HwTimeStamps> &hwTimeStamps,
|
|
|
|
LinearStream *commandStream,
|
|
|
|
const HardwareInfo &hwInfo) {
|
|
|
|
// PIPE_CONTROL for global timestamp
|
|
|
|
uint64_t timeStampAddress = hwTimeStamps.getGpuAddress() + offsetof(HwTimeStamps, GlobalStartTS);
|
|
|
|
PipeControlArgs args;
|
|
|
|
MemorySynchronizationCommands<TGLLPFamily>::addPipeControlAndProgramPostSyncOperation(
|
|
|
|
*commandStream,
|
|
|
|
PIPE_CONTROL::POST_SYNC_OPERATION_WRITE_TIMESTAMP,
|
|
|
|
timeStampAddress,
|
|
|
|
0llu,
|
|
|
|
hwInfo,
|
|
|
|
args);
|
|
|
|
}
|
|
|
|
|
|
|
|
template <>
|
|
|
|
void GpgpuWalkerHelper<TGLLPFamily>::dispatchProfilingCommandsEnd(
|
|
|
|
TagNode<HwTimeStamps> &hwTimeStamps,
|
|
|
|
LinearStream *commandStream,
|
|
|
|
const HardwareInfo &hwInfo) {
|
|
|
|
// PIPE_CONTROL for global timestamp
|
|
|
|
uint64_t timeStampAddress = hwTimeStamps.getGpuAddress() + offsetof(HwTimeStamps, GlobalEndTS);
|
|
|
|
PipeControlArgs args;
|
|
|
|
MemorySynchronizationCommands<TGLLPFamily>::addPipeControlAndProgramPostSyncOperation(
|
|
|
|
*commandStream,
|
|
|
|
PIPE_CONTROL::POST_SYNC_OPERATION_WRITE_TIMESTAMP,
|
|
|
|
timeStampAddress,
|
|
|
|
0llu,
|
|
|
|
hwInfo,
|
|
|
|
args);
|
|
|
|
}
|
|
|
|
|
|
|
|
template class HardwareInterface<TGLLPFamily>;
|
|
|
|
|
2019-09-19 01:32:33 +08:00
|
|
|
template class GpgpuWalkerHelper<TGLLPFamily>;
|
|
|
|
|
|
|
|
template struct EnqueueOperation<TGLLPFamily>;
|
|
|
|
|
|
|
|
} // namespace NEO
|