mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 05:56:36 +08:00
refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
652a6dee67
commit
7562842a58
@@ -25,7 +25,6 @@ class BindlessHeapsHelper;
|
||||
class Gmm;
|
||||
class GmmHelper;
|
||||
class IndirectHeap;
|
||||
class LogicalStateHelper;
|
||||
class ProductHelper;
|
||||
|
||||
struct DeviceInfo;
|
||||
@@ -94,7 +93,7 @@ struct EncodeDispatchKernel {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename GfxFamily::INTERFACE_DESCRIPTOR_DATA;
|
||||
using BINDING_TABLE_STATE = typename GfxFamily::BINDING_TABLE_STATE;
|
||||
|
||||
static void encode(CommandContainer &container, EncodeDispatchKernelArgs &args, LogicalStateHelper *logicalStateHelper);
|
||||
static void encode(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
|
||||
static void encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
|
||||
@@ -357,8 +356,8 @@ struct EncodeComputeMode {
|
||||
static size_t getCmdSizeForComputeMode(const RootDeviceEnvironment &rootDeviceEnvironment, bool hasSharedHandles, bool isRcs);
|
||||
static void programComputeModeCommandWithSynchronization(LinearStream &csr, StateComputeModeProperties &properties,
|
||||
const PipelineSelectArgs &args, bool hasSharedHandles,
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush, LogicalStateHelper *logicalStateHelper);
|
||||
static void programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper);
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush);
|
||||
static void programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
static void adjustPipelineSelect(CommandContainer &container, const NEO::KernelDescriptor &kernelDescriptor);
|
||||
};
|
||||
@@ -564,14 +563,7 @@ template <typename GfxFamily>
|
||||
struct EncodeMemoryFence {
|
||||
static size_t getSystemMemoryFenceSize();
|
||||
|
||||
static void encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
struct EncodeKernelArgsBuffer {
|
||||
static size_t getKernelArgsBufferCmdsSize(const GraphicsAllocation *kernelArgsBufferAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
|
||||
static void encodeKernelArgsBufferCmds(const GraphicsAllocation *kernelArgsBufferAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
static void encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation);
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -1094,17 +1094,9 @@ size_t EncodeMemoryFence<Family>::getSystemMemoryFenceSize() {
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeMemoryFence<Family>::encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeMemoryFence<Family>::encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation) {
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
size_t EncodeKernelArgsBuffer<Family>::getKernelArgsBufferCmdsSize(const GraphicsAllocation *kernelArgsBufferAllocation, LogicalStateHelper *logicalStateHelper) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeKernelArgsBuffer<Family>::encodeKernelArgsBufferCmds(const GraphicsAllocation *kernelArgsBufferAllocation, LogicalStateHelper *logicalStateHelper) {}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeMiPredicate<Family>::encode(LinearStream &cmdStream, [[maybe_unused]] MiPredicateType predicateType) {
|
||||
if constexpr (Family::isUsingMiSetPredicate) {
|
||||
|
||||
@@ -47,7 +47,7 @@ void EncodeDispatchKernel<Family>::setGrfInfo(INTERFACE_DESCRIPTOR_DATA *pInterf
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDispatchKernelArgs &args, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDispatchKernelArgs &args) {
|
||||
|
||||
using MEDIA_STATE_FLUSH = typename Family::MEDIA_STATE_FLUSH;
|
||||
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename Family::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -18,7 +18,7 @@ size_t EncodeMemoryFence<Family>::getSystemMemoryFenceSize() {
|
||||
}
|
||||
|
||||
template <>
|
||||
void EncodeMemoryFence<Family>::encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeMemoryFence<Family>::encodeSystemMemoryFence(LinearStream &commandStream, const GraphicsAllocation *globalFenceAllocation) {
|
||||
using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename Family::STATE_SYSTEM_MEM_FENCE_ADDRESS;
|
||||
|
||||
auto stateSystemFenceAddressSpace = commandStream.getSpaceForCmd<STATE_SYSTEM_MEM_FENCE_ADDRESS>();
|
||||
|
||||
@@ -43,7 +43,7 @@ void EncodeDispatchKernel<Family>::setGrfInfo(INTERFACE_DESCRIPTOR_DATA *pInterf
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDispatchKernelArgs &args, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDispatchKernelArgs &args) {
|
||||
using SHARED_LOCAL_MEMORY_SIZE = typename Family::INTERFACE_DESCRIPTOR_DATA::SHARED_LOCAL_MEMORY_SIZE;
|
||||
using STATE_BASE_ADDRESS = typename Family::STATE_BASE_ADDRESS;
|
||||
using INLINE_DATA = typename Family::INLINE_DATA;
|
||||
@@ -631,7 +631,7 @@ size_t EncodeStateBaseAddress<Family>::getRequiredSizeForStateBaseAddress(Device
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE;
|
||||
using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@ namespace NEO {
|
||||
template <typename Family>
|
||||
inline void EncodeComputeMode<Family>::programComputeModeCommandWithSynchronization(
|
||||
LinearStream &csr, StateComputeModeProperties &properties, const PipelineSelectArgs &args,
|
||||
bool hasSharedHandles, const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush, LogicalStateHelper *logicalStateHelper) {
|
||||
bool hasSharedHandles, const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush) {
|
||||
|
||||
EncodeComputeMode<Family>::programComputeModeCommand(csr, properties, rootDeviceEnvironment, nullptr);
|
||||
EncodeComputeMode<Family>::programComputeModeCommand(csr, properties, rootDeviceEnvironment);
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#pragma once
|
||||
#include "shared/source/command_container/command_encoder.h"
|
||||
#include "shared/source/command_stream/linear_stream.h"
|
||||
#include "shared/source/helpers/logical_state_helper.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
@@ -37,7 +36,7 @@ size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const RootDeviceEnvir
|
||||
template <typename Family>
|
||||
inline void EncodeComputeMode<Family>::programComputeModeCommandWithSynchronization(
|
||||
LinearStream &csr, StateComputeModeProperties &properties, const PipelineSelectArgs &args,
|
||||
bool hasSharedHandles, const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush, LogicalStateHelper *logicalStateHelper) {
|
||||
bool hasSharedHandles, const RootDeviceEnvironment &rootDeviceEnvironment, bool isRcs, bool dcFlush) {
|
||||
auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo();
|
||||
NEO::EncodeWA<Family>::encodeAdditionalPipelineSelect(csr, args, true, rootDeviceEnvironment, isRcs);
|
||||
auto *releaseHelper = rootDeviceEnvironment.getReleaseHelper();
|
||||
@@ -50,7 +49,7 @@ inline void EncodeComputeMode<Family>::programComputeModeCommandWithSynchronizat
|
||||
NEO::EncodeWA<Family>::addPipeControlPriorToNonPipelinedStateCommand(csr, args, rootDeviceEnvironment, isRcs);
|
||||
}
|
||||
|
||||
EncodeComputeMode<Family>::programComputeModeCommand(csr, properties, rootDeviceEnvironment, logicalStateHelper);
|
||||
EncodeComputeMode<Family>::programComputeModeCommand(csr, properties, rootDeviceEnvironment);
|
||||
|
||||
if (hasSharedHandles) {
|
||||
PipeControlArgs args;
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "shared/source/helpers/flat_batch_buffer_helper.h"
|
||||
#include "shared/source/helpers/flush_stamp.h"
|
||||
#include "shared/source/helpers/gfx_core_helper.h"
|
||||
#include "shared/source/helpers/logical_state_helper.h"
|
||||
#include "shared/source/helpers/pause_on_gpu_properties.h"
|
||||
#include "shared/source/helpers/ray_tracing_helper.h"
|
||||
#include "shared/source/helpers/string.h"
|
||||
@@ -380,11 +379,6 @@ void CommandStreamReceiver::cleanupResources() {
|
||||
workPartitionAllocation = nullptr;
|
||||
}
|
||||
|
||||
if (kernelArgsBufferAllocation) {
|
||||
getMemoryManager()->freeGraphicsMemory(kernelArgsBufferAllocation);
|
||||
kernelArgsBufferAllocation = nullptr;
|
||||
}
|
||||
|
||||
if (globalStatelessHeapAllocation) {
|
||||
getMemoryManager()->freeGraphicsMemory(globalStatelessHeapAllocation);
|
||||
globalStatelessHeapAllocation = nullptr;
|
||||
@@ -1026,10 +1020,6 @@ void CommandStreamReceiver::printTagAddressContent(TaskCountType taskCountToWait
|
||||
PRINT_DEBUG_STRING(true, stdout, "%s", "\n");
|
||||
}
|
||||
|
||||
LogicalStateHelper *CommandStreamReceiver::getLogicalStateHelper() const {
|
||||
return logicalStateHelper.get();
|
||||
}
|
||||
|
||||
bool CommandStreamReceiver::isTbxMode() const {
|
||||
return (getType() == NEO::CommandStreamReceiverType::CSR_TBX || getType() == NEO::CommandStreamReceiverType::CSR_TBX_WITH_AUB);
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@ class HwPerfCounter;
|
||||
class HwTimeStamps;
|
||||
class GmmHelper;
|
||||
class TagAllocatorBase;
|
||||
class LogicalStateHelper;
|
||||
class KmdNotifyHelper;
|
||||
class GfxCoreHelper;
|
||||
class ProductHelper;
|
||||
@@ -185,7 +184,6 @@ class CommandStreamReceiver {
|
||||
GraphicsAllocation *getGlobalFenceAllocation() const { return globalFenceAllocation; }
|
||||
GraphicsAllocation *getWorkPartitionAllocation() const { return workPartitionAllocation; }
|
||||
GraphicsAllocation *getGlobalStatelessHeapAllocation() const { return globalStatelessHeapAllocation; }
|
||||
GraphicsAllocation *getKernelArgsBufferAllocation() const { return kernelArgsBufferAllocation; }
|
||||
|
||||
virtual WaitStatus waitForTaskCountWithKmdNotifyFallback(TaskCountType taskCountToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, QueueThrottle throttle) = 0;
|
||||
virtual WaitStatus waitForCompletionWithTimeout(const WaitParams ¶ms, TaskCountType taskCountToWait);
|
||||
@@ -216,7 +214,6 @@ class CommandStreamReceiver {
|
||||
MOCKABLE_VIRTUAL bool createGlobalFenceAllocation();
|
||||
MOCKABLE_VIRTUAL bool createPreemptionAllocation();
|
||||
MOCKABLE_VIRTUAL bool createPerDssBackedBuffer(Device &device);
|
||||
virtual void createKernelArgsBufferAllocation() = 0;
|
||||
[[nodiscard]] MOCKABLE_VIRTUAL std::unique_lock<MutexType> obtainUniqueOwnership();
|
||||
|
||||
bool peekTimestampPacketWriteEnabled() const { return timestampPacketWriteEnabled; }
|
||||
@@ -376,8 +373,6 @@ class CommandStreamReceiver {
|
||||
return this->dispatchMode;
|
||||
}
|
||||
|
||||
LogicalStateHelper *getLogicalStateHelper() const;
|
||||
|
||||
bool getPreambleSetFlag() const {
|
||||
return isPreambleSent;
|
||||
}
|
||||
@@ -457,7 +452,6 @@ class CommandStreamReceiver {
|
||||
std::unique_ptr<TagAllocatorBase> perfCounterAllocator;
|
||||
std::unique_ptr<TagAllocatorBase> timestampPacketAllocator;
|
||||
std::unique_ptr<Thread> userPauseConfirmation;
|
||||
std::unique_ptr<LogicalStateHelper> logicalStateHelper;
|
||||
std::unique_ptr<IndirectHeap> globalStatelessHeap;
|
||||
|
||||
ResidencyContainer residencyAllocations;
|
||||
@@ -492,7 +486,6 @@ class CommandStreamReceiver {
|
||||
GraphicsAllocation *perDssBackedBuffer = nullptr;
|
||||
GraphicsAllocation *clearColorAllocation = nullptr;
|
||||
GraphicsAllocation *workPartitionAllocation = nullptr;
|
||||
GraphicsAllocation *kernelArgsBufferAllocation = nullptr;
|
||||
GraphicsAllocation *globalStatelessHeapAllocation = nullptr;
|
||||
|
||||
MultiGraphicsAllocation *tagsMultiAllocation = nullptr;
|
||||
|
||||
@@ -210,7 +210,6 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
|
||||
bool checkPlatformSupportsGpuIdleImplicitFlush() const;
|
||||
void configurePostSyncWriteOffset();
|
||||
void unregisterDirectSubmissionFromController();
|
||||
void createKernelArgsBufferAllocation() override;
|
||||
void handleFrontEndStateTransition(const DispatchFlags &dispatchFlags);
|
||||
void handlePipelineSelectStateTransition(const DispatchFlags &dispatchFlags);
|
||||
void handleStateBaseAddressStateTransition(const DispatchFlags &dispatchFlags, bool &isStateBaseAddressDirty);
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
#include "shared/source/helpers/flush_stamp.h"
|
||||
#include "shared/source/helpers/gfx_core_helper.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/logical_state_helper.h"
|
||||
#include "shared/source/helpers/pause_on_gpu_properties.h"
|
||||
#include "shared/source/helpers/preamble.h"
|
||||
#include "shared/source/helpers/ptr_math.h"
|
||||
@@ -82,8 +81,6 @@ CommandStreamReceiverHw<GfxFamily>::CommandStreamReceiverHw(ExecutionEnvironment
|
||||
timestampPacketWriteEnabled = !!DebugManager.flags.EnableTimestampPacket.get();
|
||||
}
|
||||
|
||||
logicalStateHelper.reset(LogicalStateHelper::create<GfxFamily>());
|
||||
|
||||
createScratchSpaceController();
|
||||
configurePostSyncWriteOffset();
|
||||
|
||||
@@ -469,9 +466,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
makeResident(*perDssBackedBuffer);
|
||||
}
|
||||
|
||||
if (!logicalStateHelper) {
|
||||
handleFrontEndStateTransition(dispatchFlags);
|
||||
}
|
||||
handleFrontEndStateTransition(dispatchFlags);
|
||||
|
||||
auto &commandStreamCSR = this->getCS(getRequiredCmdStreamSizeAligned(dispatchFlags, device));
|
||||
auto commandStreamStartCSR = commandStreamCSR.getUsed();
|
||||
@@ -502,8 +497,6 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
|
||||
programPreemption(commandStreamCSR, dispatchFlags);
|
||||
|
||||
EncodeKernelArgsBuffer<GfxFamily>::encodeKernelArgsBufferCmds(kernelArgsBufferAllocation, logicalStateHelper.get());
|
||||
|
||||
if (dispatchFlags.isStallingCommandsOnNextFlushRequired) {
|
||||
if (DebugManager.flags.ProgramBarrierInCommandStreamTask.get() == 1) {
|
||||
programStallingCommandsForBarrier(commandStreamTask, dispatchFlags);
|
||||
@@ -580,19 +573,11 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
makeResident(*workPartitionAllocation);
|
||||
}
|
||||
|
||||
if (kernelArgsBufferAllocation) {
|
||||
makeResident(*kernelArgsBufferAllocation);
|
||||
}
|
||||
|
||||
auto rtBuffer = device.getRTMemoryBackedBuffer();
|
||||
if (rtBuffer) {
|
||||
makeResident(*rtBuffer);
|
||||
}
|
||||
|
||||
if (logicalStateHelper) {
|
||||
logicalStateHelper->writeStreamInline(commandStreamCSR, false);
|
||||
}
|
||||
|
||||
// If the CSR has work in its CS, flush it before the task
|
||||
bool submitTask = commandStreamStartTask != commandStreamTask.getUsed();
|
||||
bool submitCSR = (commandStreamStartCSR != commandStreamCSR.getUsed());
|
||||
@@ -735,7 +720,7 @@ void CommandStreamReceiverHw<GfxFamily>::programComputeMode(LinearStream &stream
|
||||
if (this->streamProperties.stateComputeMode.isDirty()) {
|
||||
EncodeComputeMode<GfxFamily>::programComputeModeCommandWithSynchronization(
|
||||
stream, this->streamProperties.stateComputeMode, dispatchFlags.pipelineSelectArgs,
|
||||
hasSharedHandles(), this->peekRootDeviceEnvironment(), isRcs(), this->dcFlushSupport, logicalStateHelper.get());
|
||||
hasSharedHandles(), this->peekRootDeviceEnvironment(), isRcs(), this->dcFlushSupport);
|
||||
this->setStateComputeModeDirty(false);
|
||||
this->streamProperties.stateComputeMode.clearIsDirty();
|
||||
}
|
||||
@@ -937,8 +922,6 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdStreamSize(const Dispat
|
||||
size += TimestampPacketHelper::getRequiredCmdStreamSize<GfxFamily>(dispatchFlags.csrDependencies, false);
|
||||
size += TimestampPacketHelper::getRequiredCmdStreamSizeForMultiRootDeviceSyncNodesContainer<GfxFamily>(dispatchFlags.csrDependencies);
|
||||
|
||||
size += EncodeKernelArgsBuffer<GfxFamily>::getKernelArgsBufferCmdsSize(kernelArgsBufferAllocation, logicalStateHelper.get());
|
||||
|
||||
if (dispatchFlags.isStallingCommandsOnNextFlushRequired) {
|
||||
size += getCmdSizeForStallingCommands(dispatchFlags);
|
||||
}
|
||||
@@ -1007,7 +990,7 @@ inline size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForPreemption(const
|
||||
template <typename GfxFamily>
|
||||
inline void CommandStreamReceiverHw<GfxFamily>::programStateSip(LinearStream &cmdStream, Device &device) {
|
||||
if (!this->isStateSipSent) {
|
||||
PreemptionHelper::programStateSip<GfxFamily>(cmdStream, device, logicalStateHelper.get(), this->osContext);
|
||||
PreemptionHelper::programStateSip<GfxFamily>(cmdStream, device, this->osContext);
|
||||
setSipSentFlag(true);
|
||||
}
|
||||
}
|
||||
@@ -1015,7 +998,7 @@ inline void CommandStreamReceiverHw<GfxFamily>::programStateSip(LinearStream &cm
|
||||
template <typename GfxFamily>
|
||||
inline void CommandStreamReceiverHw<GfxFamily>::programPreamble(LinearStream &csr, Device &device, uint32_t &newL3Config) {
|
||||
if (!this->isPreambleSent) {
|
||||
PreambleHelper<GfxFamily>::programPreamble(&csr, device, newL3Config, this->preemptionAllocation, logicalStateHelper.get());
|
||||
PreambleHelper<GfxFamily>::programPreamble(&csr, device, newL3Config, this->preemptionAllocation);
|
||||
this->isPreambleSent = true;
|
||||
this->lastSentL3Config = newL3Config;
|
||||
}
|
||||
@@ -1041,7 +1024,7 @@ inline void CommandStreamReceiverHw<GfxFamily>::programVFEState(LinearStream &cs
|
||||
auto pVfeState = PreambleHelper<GfxFamily>::getSpaceForVfeState(&csr, hwInfo, engineGroupType);
|
||||
PreambleHelper<GfxFamily>::programVfeState(
|
||||
pVfeState, peekRootDeviceEnvironment(), requiredScratchSize, getScratchPatchAddress(),
|
||||
maxFrontEndThreads, streamProperties, logicalStateHelper.get());
|
||||
maxFrontEndThreads, streamProperties);
|
||||
auto commandOffset = PreambleHelper<GfxFamily>::getScratchSpaceAddressOffsetForVfeState(&csr, pVfeState);
|
||||
|
||||
if (DebugManager.flags.AddPatchInfoCommentsForAUBDump.get()) {
|
||||
@@ -1169,10 +1152,6 @@ TaskCountType CommandStreamReceiverHw<GfxFamily>::flushBcsTask(const BlitPropert
|
||||
pageTableManagerInitialized = pageTableManager->initPageTableManagerRegisters(this);
|
||||
}
|
||||
|
||||
if (logicalStateHelper) {
|
||||
logicalStateHelper->writeStreamInline(commandStream, false);
|
||||
}
|
||||
|
||||
if (isRelaxedOrderingDispatch) {
|
||||
RelaxedOrderingHelper::encodeRegistersBeforeDependencyCheckers<GfxFamily>(commandStream);
|
||||
}
|
||||
@@ -1583,10 +1562,6 @@ size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForComputeMode() {
|
||||
return EncodeComputeMode<GfxFamily>::getCmdSizeForComputeMode(this->peekRootDeviceEnvironment(), hasSharedHandles(), isRcs());
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void CommandStreamReceiverHw<GfxFamily>::createKernelArgsBufferAllocation() {
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
SubmissionStatus CommandStreamReceiverHw<GfxFamily>::initializeDeviceWithFirstSubmission() {
|
||||
return flushTagUpdate();
|
||||
@@ -1960,8 +1935,7 @@ void CommandStreamReceiverHw<GfxFamily>::dispatchImmediateFlushFrontEndCommand(I
|
||||
requiredScratchSize,
|
||||
getScratchPatchAddress(),
|
||||
device.getDeviceInfo().maxFrontEndThreads,
|
||||
this->streamProperties,
|
||||
getLogicalStateHelper());
|
||||
this->streamProperties);
|
||||
this->streamProperties.frontEndState.clearIsDirty();
|
||||
}
|
||||
}
|
||||
@@ -1988,7 +1962,7 @@ void CommandStreamReceiverHw<GfxFamily>::dispatchImmediateFlushStateComputeModeC
|
||||
EncodeComputeMode<GfxFamily>::programComputeModeCommandWithSynchronization(csrStream, this->streamProperties.stateComputeMode,
|
||||
flushData.pipelineSelectArgs,
|
||||
false, peekRootDeviceEnvironment(), isRcs(),
|
||||
getDcFlushSupport(), nullptr);
|
||||
getDcFlushSupport());
|
||||
this->streamProperties.stateComputeMode.clearIsDirty();
|
||||
}
|
||||
}
|
||||
@@ -2080,8 +2054,7 @@ void CommandStreamReceiverHw<GfxFamily>::dispatchImmediateFlushOneTimeContextIni
|
||||
PreemptionHelper::programCmdStream<GfxFamily>(csrStream, device.getPreemptionMode(), this->getPreemptionMode(), this->getPreemptionAllocation());
|
||||
PreemptionHelper::programCsrBaseAddress<GfxFamily>(csrStream,
|
||||
device,
|
||||
getPreemptionAllocation(),
|
||||
getLogicalStateHelper());
|
||||
getPreemptionAllocation());
|
||||
this->setPreemptionMode(device.getPreemptionMode());
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ struct RootDeviceEnvironment;
|
||||
class Device;
|
||||
class GraphicsAllocation;
|
||||
struct KernelDescriptor;
|
||||
class LogicalStateHelper;
|
||||
struct RuntimeCapabilityTable;
|
||||
class OsContext;
|
||||
|
||||
@@ -56,10 +55,10 @@ class PreemptionHelper {
|
||||
static size_t getRequiredStateSipCmdSize(Device &device, bool isRcs);
|
||||
|
||||
template <typename GfxFamily>
|
||||
static void programCsrBaseAddress(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
static void programCsrBaseAddress(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr);
|
||||
|
||||
template <typename GfxFamily>
|
||||
static void programStateSip(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context);
|
||||
static void programStateSip(LinearStream &preambleCmdStream, Device &device, OsContext *context);
|
||||
|
||||
template <typename GfxFamily>
|
||||
static void programStateSipEndWa(LinearStream &cmdStream, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
@@ -87,10 +86,10 @@ class PreemptionHelper {
|
||||
|
||||
protected:
|
||||
template <typename GfxFamily>
|
||||
static void programCsrBaseAddressCmd(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
static void programCsrBaseAddressCmd(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr);
|
||||
|
||||
template <typename GfxFamily>
|
||||
static void programStateSipCmd(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
static void programStateSipCmd(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation);
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -19,16 +19,16 @@
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreemptionHelper::programCsrBaseAddress(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programCsrBaseAddress(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr) {
|
||||
if (device.getPreemptionMode() == PreemptionMode::MidThread) {
|
||||
UNRECOVERABLE_IF(nullptr == preemptionCsr);
|
||||
|
||||
programCsrBaseAddressCmd<GfxFamily>(preambleCmdStream, preemptionCsr, logicalStateHelper);
|
||||
programCsrBaseAddressCmd<GfxFamily>(preambleCmdStream, preemptionCsr);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreemptionHelper::programCsrBaseAddressCmd(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programCsrBaseAddressCmd(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr) {
|
||||
using GPGPU_CSR_BASE_ADDRESS = typename GfxFamily::GPGPU_CSR_BASE_ADDRESS;
|
||||
|
||||
auto csr = reinterpret_cast<GPGPU_CSR_BASE_ADDRESS *>(preambleCmdStream.getSpace(sizeof(GPGPU_CSR_BASE_ADDRESS)));
|
||||
@@ -38,19 +38,19 @@ void PreemptionHelper::programCsrBaseAddressCmd(LinearStream &preambleCmdStream,
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreemptionHelper::programStateSip(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context) {
|
||||
void PreemptionHelper::programStateSip(LinearStream &preambleCmdStream, Device &device, OsContext *context) {
|
||||
using STATE_SIP = typename GfxFamily::STATE_SIP;
|
||||
bool debuggingEnabled = device.getDebugger() != nullptr;
|
||||
bool isMidThreadPreemption = device.getPreemptionMode() == PreemptionMode::MidThread;
|
||||
|
||||
if (isMidThreadPreemption || debuggingEnabled) {
|
||||
GraphicsAllocation *sipAllocation = SipKernel::getSipKernel(device, context).getSipAllocation();
|
||||
programStateSipCmd<GfxFamily>(preambleCmdStream, sipAllocation, logicalStateHelper);
|
||||
programStateSipCmd<GfxFamily>(preambleCmdStream, sipAllocation);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreemptionHelper::programStateSipCmd(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programStateSipCmd(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation) {
|
||||
using STATE_SIP = typename GfxFamily::STATE_SIP;
|
||||
|
||||
auto sip = reinterpret_cast<STATE_SIP *>(preambleCmdStream.getSpace(sizeof(STATE_SIP)));
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
*/
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context) {
|
||||
void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, OsContext *context) {
|
||||
using STATE_SIP = typename GfxFamily::STATE_SIP;
|
||||
using MI_LOAD_REGISTER_IMM = typename GfxFamily::MI_LOAD_REGISTER_IMM;
|
||||
|
||||
|
||||
@@ -385,8 +385,6 @@ bool Device::createEngine(uint32_t deviceCsrIndex, EngineTypeUsage engineTypeUsa
|
||||
return false;
|
||||
}
|
||||
|
||||
commandStreamReceiver->createKernelArgsBufferAllocation();
|
||||
|
||||
if (preemptionMode == PreemptionMode::MidThread && !commandStreamReceiver->createPreemptionAllocation()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -70,7 +70,6 @@ void RootDevice::initializeRootCommandStreamReceiver() {
|
||||
rootCommandStreamReceiver->initializeTagAllocation();
|
||||
rootCommandStreamReceiver->createGlobalFenceAllocation();
|
||||
rootCommandStreamReceiver->createWorkPartitionAllocation(*this);
|
||||
rootCommandStreamReceiver->createKernelArgsBufferAllocation();
|
||||
commandStreamReceivers.push_back(std::move(rootCommandStreamReceiver));
|
||||
|
||||
EngineControl engine{commandStreamReceivers.back().get(), osContext};
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
namespace NEO {
|
||||
DirectSubmissionInputParams::DirectSubmissionInputParams(const CommandStreamReceiver &commandStreamReceiver) : osContext(commandStreamReceiver.getOsContext()), rootDeviceEnvironment(commandStreamReceiver.peekRootDeviceEnvironment()), rootDeviceIndex(commandStreamReceiver.getRootDeviceIndex()) {
|
||||
memoryManager = commandStreamReceiver.getMemoryManager();
|
||||
logicalStateHelper = commandStreamReceiver.getLogicalStateHelper();
|
||||
globalFenceAllocation = commandStreamReceiver.getGlobalFenceAllocation();
|
||||
workPartitionAllocation = commandStreamReceiver.getWorkPartitionAllocation();
|
||||
completionFenceAllocation = commandStreamReceiver.getTagAllocation();
|
||||
|
||||
@@ -55,7 +55,6 @@ struct BatchBuffer;
|
||||
class DirectSubmissionDiagnosticsCollector;
|
||||
class FlushStampTracker;
|
||||
class GraphicsAllocation;
|
||||
class LogicalStateHelper;
|
||||
struct HardwareInfo;
|
||||
class OsContext;
|
||||
class MemoryOperationsHandler;
|
||||
@@ -64,7 +63,6 @@ struct DirectSubmissionInputParams : NonCopyableClass {
|
||||
DirectSubmissionInputParams(const CommandStreamReceiver &commandStreamReceiver);
|
||||
OsContext &osContext;
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment;
|
||||
LogicalStateHelper *logicalStateHelper = nullptr;
|
||||
MemoryManager *memoryManager = nullptr;
|
||||
const GraphicsAllocation *globalFenceAllocation = nullptr;
|
||||
GraphicsAllocation *workPartitionAllocation = nullptr;
|
||||
@@ -204,7 +202,6 @@ class DirectSubmissionHw {
|
||||
OsContext &osContext;
|
||||
const uint32_t rootDeviceIndex;
|
||||
MemoryManager *memoryManager = nullptr;
|
||||
LogicalStateHelper *logicalStateHelper = nullptr;
|
||||
MemoryOperationsHandler *memoryOperationHandler = nullptr;
|
||||
const HardwareInfo *hwInfo = nullptr;
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment;
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "shared/source/helpers/flush_stamp.h"
|
||||
#include "shared/source/helpers/gfx_core_helper.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/logical_state_helper.h"
|
||||
#include "shared/source/helpers/ptr_math.h"
|
||||
#include "shared/source/memory_manager/allocation_properties.h"
|
||||
#include "shared/source/memory_manager/graphics_allocation.h"
|
||||
@@ -45,7 +44,6 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
|
||||
: ringBuffers(RingBufferUse::initialRingBufferCount), osContext(inputParams.osContext), rootDeviceIndex(inputParams.rootDeviceIndex), rootDeviceEnvironment(inputParams.rootDeviceEnvironment) {
|
||||
memoryManager = inputParams.memoryManager;
|
||||
globalFenceAllocation = inputParams.globalFenceAllocation;
|
||||
logicalStateHelper = inputParams.logicalStateHelper;
|
||||
hwInfo = inputParams.rootDeviceEnvironment.getHardwareInfo();
|
||||
memoryOperationHandler = inputParams.rootDeviceEnvironment.memoryOperationsInterface.get();
|
||||
|
||||
@@ -1173,11 +1171,7 @@ size_t DirectSubmissionHw<GfxFamily, Dispatcher>::getDiagnosticModeSection() {
|
||||
|
||||
template <typename GfxFamily, typename Dispatcher>
|
||||
void DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchSystemMemoryFenceAddress() {
|
||||
EncodeMemoryFence<GfxFamily>::encodeSystemMemoryFence(ringCommandStream, this->globalFenceAllocation, this->logicalStateHelper);
|
||||
|
||||
if (logicalStateHelper) {
|
||||
logicalStateHelper->writeStreamInline(ringCommandStream, false);
|
||||
}
|
||||
EncodeMemoryFence<GfxFamily>::encodeSystemMemoryFence(ringCommandStream, this->globalFenceAllocation);
|
||||
}
|
||||
|
||||
template <typename GfxFamily, typename Dispatcher>
|
||||
|
||||
@@ -49,7 +49,7 @@ size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const RootDeviceEnvir
|
||||
|
||||
template <>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties,
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using PIPE_CONTROL = typename Family::PIPE_CONTROL;
|
||||
|
||||
if (properties.threadArbitrationPolicy.isDirty) {
|
||||
@@ -95,6 +95,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_icllp.inl"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
namespace NEO {
|
||||
typedef Gen11Family Family;
|
||||
@@ -38,5 +37,4 @@ template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -19,7 +19,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct Gen11 {
|
||||
#include "shared/source/generated/gen11/hw_cmds_generated_gen11.inl"
|
||||
|
||||
@@ -97,7 +96,6 @@ struct Gen11Family : public Gen11 {
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const GPGPU_WALKER cmdInitGpgpuWalker;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
static const MEDIA_INTERFACE_DESCRIPTOR_LOAD cmdInitMediaInterfaceDescriptorLoad;
|
||||
|
||||
@@ -16,10 +16,10 @@ using GfxFamily = Gen11Family;
|
||||
template void PreemptionHelper::programCmdStream<GfxFamily>(LinearStream &cmdStream, PreemptionMode newPreemptionMode,
|
||||
PreemptionMode oldPreemptionMode, GraphicsAllocation *preemptionCsr);
|
||||
template size_t PreemptionHelper::getRequiredPreambleSize<GfxFamily>(const Device &device);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation);
|
||||
template size_t PreemptionHelper::getRequiredStateSipCmdSize<GfxFamily>(Device &device, bool isRcs);
|
||||
template size_t PreemptionHelper::getRequiredCmdStreamSize<GfxFamily>(PreemptionMode newPreemptionMode, PreemptionMode oldPreemptionMode);
|
||||
template size_t PreemptionHelper::getPreemptionWaCsSize<GfxFamily>(const Device &device);
|
||||
|
||||
@@ -37,7 +37,7 @@ size_t EncodeWA<Family>::getAdditionalPipelineSelectSize(Device &device, bool is
|
||||
}
|
||||
|
||||
template <>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE;
|
||||
using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
|
||||
@@ -134,6 +134,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -16,7 +16,6 @@ using Family = NEO::Gen12LpFamily;
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_tgllp_and_later.inl"
|
||||
#include "shared/source/helpers/local_memory_access_modes.h"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
@@ -208,6 +207,4 @@ template class GfxCoreHelperHw<Family>;
|
||||
template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -17,7 +17,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct Gen12Lp {
|
||||
#include "shared/source/generated/gen12lp/hw_cmds_generated_gen12lp.inl"
|
||||
|
||||
@@ -96,7 +95,6 @@ struct Gen12LpFamily : public Gen12Lp {
|
||||
using XY_COLOR_BLT = typename GfxFamily::XY_FAST_COLOR_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const GPGPU_WALKER cmdInitGpgpuWalker;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
static const MEDIA_INTERFACE_DESCRIPTOR_LOAD cmdInitMediaInterfaceDescriptorLoad;
|
||||
|
||||
@@ -16,10 +16,10 @@ using GfxFamily = Gen12LpFamily;
|
||||
template void PreemptionHelper::programCmdStream<GfxFamily>(LinearStream &cmdStream, PreemptionMode newPreemptionMode,
|
||||
PreemptionMode oldPreemptionMode, GraphicsAllocation *preemptionCsr);
|
||||
template size_t PreemptionHelper::getRequiredPreambleSize<GfxFamily>(const Device &device);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation);
|
||||
template size_t PreemptionHelper::getRequiredStateSipCmdSize<GfxFamily>(Device &device, bool isRcs);
|
||||
template size_t PreemptionHelper::getRequiredCmdStreamSize<GfxFamily>(PreemptionMode newPreemptionMode, PreemptionMode oldPreemptionMode);
|
||||
template size_t PreemptionHelper::getPreemptionWaCsSize<GfxFamily>(const Device &device);
|
||||
|
||||
@@ -39,8 +39,7 @@ size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const RootDeviceEnvir
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties,
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -76,7 +75,6 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_icllp.inl"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
namespace NEO {
|
||||
typedef Gen8Family Family;
|
||||
@@ -78,6 +77,4 @@ template class GfxCoreHelperHw<Family>;
|
||||
template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -20,7 +20,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct Gen8 {
|
||||
#include "shared/source/generated/gen8/hw_cmds_generated_gen8.inl"
|
||||
|
||||
@@ -98,7 +97,6 @@ struct Gen8Family : public Gen8 {
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const GPGPU_WALKER cmdInitGpgpuWalker;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
static const MEDIA_INTERFACE_DESCRIPTOR_LOAD cmdInitMediaInterfaceDescriptorLoad;
|
||||
|
||||
@@ -55,19 +55,19 @@ size_t PreemptionHelper::getRequiredStateSipCmdSize<GfxFamily>(Device &device, b
|
||||
}
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context) {
|
||||
void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, OsContext *context) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper) {
|
||||
void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation) {
|
||||
}
|
||||
|
||||
template <>
|
||||
|
||||
@@ -40,7 +40,7 @@ size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const RootDeviceEnvir
|
||||
|
||||
template <typename Family>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties,
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using PIPE_CONTROL = typename Family::PIPE_CONTROL;
|
||||
UNRECOVERABLE_IF(properties.threadArbitrationPolicy.value == ThreadArbitrationPolicy::NotPresent);
|
||||
|
||||
@@ -80,6 +80,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_icllp.inl"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
@@ -49,6 +48,4 @@ template class GfxCoreHelperHw<Family>;
|
||||
template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -19,7 +19,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct Gen9 {
|
||||
#include "shared/source/generated/gen9/hw_cmds_generated_gen9.inl"
|
||||
|
||||
@@ -98,7 +97,6 @@ struct Gen9Family : public Gen9 {
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const GPGPU_WALKER cmdInitGpgpuWalker;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
static const MEDIA_INTERFACE_DESCRIPTOR_LOAD cmdInitMediaInterfaceDescriptorLoad;
|
||||
|
||||
@@ -71,10 +71,10 @@ template void PreemptionHelper::programCmdStream<GfxFamily>(LinearStream &cmdStr
|
||||
PreemptionMode oldPreemptionMode, GraphicsAllocation *preemptionCsr);
|
||||
|
||||
template size_t PreemptionHelper::getRequiredPreambleSize<GfxFamily>(const Device &device);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, LogicalStateHelper *logicalStateHelper, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation, LogicalStateHelper *logicalStateHelper);
|
||||
template void PreemptionHelper::programCsrBaseAddress<GfxFamily>(LinearStream &preambleCmdStream, Device &device, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programCsrBaseAddressCmd<GfxFamily>(LinearStream &preambleCmdStream, const GraphicsAllocation *preemptionCsr);
|
||||
template void PreemptionHelper::programStateSip<GfxFamily>(LinearStream &preambleCmdStream, Device &device, OsContext *context);
|
||||
template void PreemptionHelper::programStateSipCmd<GfxFamily>(LinearStream &preambleCmdStream, GraphicsAllocation *sipAllocation);
|
||||
template size_t PreemptionHelper::getRequiredStateSipCmdSize<GfxFamily>(Device &device, bool isRcs);
|
||||
template size_t PreemptionHelper::getRequiredCmdStreamSize<GfxFamily>(PreemptionMode newPreemptionMode, PreemptionMode oldPreemptionMode);
|
||||
template void PreemptionHelper::programStateSipEndWa<GfxFamily>(LinearStream &cmdStream, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
@@ -110,8 +110,6 @@ set(NEO_CORE_HELPERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/local_id_gen_sse4.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/local_work_size.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/local_work_size.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logical_state_helper.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logical_state_helper.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}memory_properties_helpers.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/memory_properties_helpers.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/memory_properties_helpers_base.inl
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace NEO {
|
||||
class LinearStream;
|
||||
|
||||
class LogicalStateHelper {
|
||||
public:
|
||||
template <typename Family>
|
||||
static LogicalStateHelper *create();
|
||||
|
||||
virtual ~LogicalStateHelper() = default;
|
||||
|
||||
virtual void writeStreamInline(LinearStream &linearStream, bool pipelinedState) = 0;
|
||||
virtual void mergePipelinedState(const LogicalStateHelper &inputLogicalStateHelper) {}
|
||||
|
||||
protected:
|
||||
LogicalStateHelper() = default;
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
@@ -1,17 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/logical_state_helper.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
LogicalStateHelper *LogicalStateHelper::create() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
@@ -19,7 +19,6 @@ class Device;
|
||||
struct DispatchFlags;
|
||||
class GraphicsAllocation;
|
||||
class LinearStream;
|
||||
class LogicalStateHelper;
|
||||
struct PipelineSelectArgs;
|
||||
struct StreamProperties;
|
||||
struct RootDeviceEnvironment;
|
||||
@@ -34,7 +33,7 @@ struct PreambleHelper {
|
||||
static void programPipelineSelect(LinearStream *pCommandStream,
|
||||
const PipelineSelectArgs &pipelineSelectArgs,
|
||||
const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
static void programPreemption(LinearStream *pCommandStream, Device &device, GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
static void programPreemption(LinearStream *pCommandStream, Device &device, GraphicsAllocation *preemptionCsr);
|
||||
static void addPipeControlBeforeVfeCmd(LinearStream *pCommandStream, const HardwareInfo *hwInfo, EngineGroupType engineGroupType);
|
||||
static void appendProgramVFEState(const RootDeviceEnvironment &rootDeviceEnvironment, const StreamProperties &streamProperties, void *cmd);
|
||||
static void *getSpaceForVfeState(LinearStream *pCommandStream,
|
||||
@@ -45,11 +44,10 @@ struct PreambleHelper {
|
||||
uint32_t scratchSize,
|
||||
uint64_t scratchAddress,
|
||||
uint32_t maxFrontEndThreads,
|
||||
const StreamProperties &streamProperties,
|
||||
LogicalStateHelper *logicalStateHelper);
|
||||
const StreamProperties &streamProperties);
|
||||
static uint64_t getScratchSpaceAddressOffsetForVfeState(LinearStream *pCommandStream, void *pVfeState);
|
||||
static void programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
||||
GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper);
|
||||
GraphicsAllocation *preemptionCsr);
|
||||
static void programSemaphoreDelay(LinearStream *pCommandStream);
|
||||
static uint32_t getL3Config(const HardwareInfo &hwInfo, bool useSLM);
|
||||
static bool isSystolicModeConfigurable(const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
@@ -66,16 +66,16 @@ size_t PreambleHelper<GfxFamily>::getCmdSizeForPipelineSelect(const RootDeviceEn
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreambleHelper<GfxFamily>::programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
||||
GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
GraphicsAllocation *preemptionCsr) {
|
||||
programL3(pCommandStream, l3Config);
|
||||
programPreemption(pCommandStream, device, preemptionCsr, logicalStateHelper);
|
||||
programPreemption(pCommandStream, device, preemptionCsr);
|
||||
programGenSpecificPreambleWorkArounds(pCommandStream, device.getHardwareInfo());
|
||||
programSemaphoreDelay(pCommandStream);
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void PreambleHelper<GfxFamily>::programPreemption(LinearStream *pCommandStream, Device &device, GraphicsAllocation *preemptionCsr, LogicalStateHelper *logicalStateHelper) {
|
||||
PreemptionHelper::programCsrBaseAddress<GfxFamily>(*pCommandStream, device, preemptionCsr, logicalStateHelper);
|
||||
void PreambleHelper<GfxFamily>::programPreemption(LinearStream *pCommandStream, Device &device, GraphicsAllocation *preemptionCsr) {
|
||||
PreemptionHelper::programCsrBaseAddress<GfxFamily>(*pCommandStream, device, preemptionCsr);
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2022 Intel Corporation
|
||||
* Copyright (C) 2019-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -40,8 +40,7 @@ void PreambleHelper<GfxFamily>::programVfeState(void *pVfeState,
|
||||
uint32_t scratchSize,
|
||||
uint64_t scratchAddress,
|
||||
uint32_t maxFrontEndThreads,
|
||||
const StreamProperties &streamProperties,
|
||||
LogicalStateHelper *logicalStateHelper) {
|
||||
const StreamProperties &streamProperties) {
|
||||
using MEDIA_VFE_STATE = typename GfxFamily::MEDIA_VFE_STATE;
|
||||
|
||||
auto pMediaVfeState = reinterpret_cast<MEDIA_VFE_STATE *>(pVfeState);
|
||||
|
||||
@@ -106,8 +106,7 @@ void PreambleHelper<GfxFamily>::programVfeState(void *pVfeState,
|
||||
uint32_t scratchSize,
|
||||
uint64_t scratchAddress,
|
||||
uint32_t maxFrontEndThreads,
|
||||
const StreamProperties &streamProperties,
|
||||
LogicalStateHelper *logicalStateHelper) {
|
||||
const StreamProperties &streamProperties) {
|
||||
using CFE_STATE = typename Family::CFE_STATE;
|
||||
|
||||
auto cfeState = reinterpret_cast<CFE_STATE *>(pVfeState);
|
||||
|
||||
@@ -101,6 +101,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -18,7 +18,6 @@ using Family = NEO::XeHpFamily;
|
||||
#include "shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_tgllp_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_xehp_and_later.inl"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
#include "shared/source/os_interface/product_helper.h"
|
||||
|
||||
namespace NEO {
|
||||
@@ -154,5 +153,4 @@ template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -17,7 +17,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct XeHpCore {
|
||||
#include "shared/source/generated/xe_hp_core/hw_cmds_generated_xe_hp_core.inl"
|
||||
|
||||
@@ -103,7 +102,6 @@ struct XeHpFamily : public XeHpCore {
|
||||
using XY_COLOR_BLT = typename GfxFamily::XY_FAST_COLOR_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const COMPUTE_WALKER cmdInitGpgpuWalker;
|
||||
static const CFE_STATE cmdInitCfeState;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
|
||||
@@ -98,7 +98,7 @@ inline void EncodeAtomic<Family>::setMiAtomicAddress(MI_ATOMIC &atomic, uint64_t
|
||||
}
|
||||
|
||||
template <>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE;
|
||||
using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
|
||||
@@ -344,6 +344,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -39,7 +39,7 @@ template <>
|
||||
void CommandStreamReceiverHw<Family>::programEnginePrologue(LinearStream &csr) {
|
||||
if (!this->isEnginePrologueSent) {
|
||||
if (globalFenceAllocation) {
|
||||
EncodeMemoryFence<Family>::encodeSystemMemoryFence(csr, globalFenceAllocation, nullptr);
|
||||
EncodeMemoryFence<Family>::encodeSystemMemoryFence(csr, globalFenceAllocation);
|
||||
}
|
||||
this->isEnginePrologueSent = true;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ using Family = NEO::XeHpcCoreFamily;
|
||||
#include "shared/source/helpers/gfx_core_helper_pvc_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_tgllp_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_xehp_and_later.inl"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
@@ -430,6 +429,4 @@ template class GfxCoreHelperHw<Family>;
|
||||
template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -20,7 +20,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct XeHpcCore {
|
||||
#include "shared/source/generated/xe_hpc_core/hw_cmds_generated_xe_hpc_core.inl"
|
||||
|
||||
@@ -87,7 +86,6 @@ struct XeHpcCoreFamily : public XeHpcCore {
|
||||
using XY_COLOR_BLT = typename GfxFamily::XY_FAST_COLOR_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const COMPUTE_WALKER cmdInitGpgpuWalker;
|
||||
static const CFE_STATE cmdInitCfeState;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
|
||||
@@ -129,7 +129,7 @@ void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields(const RootDevice
|
||||
}
|
||||
|
||||
template <>
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment, LogicalStateHelper *logicalStateHelper) {
|
||||
void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE;
|
||||
using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
using PIXEL_ASYNC_COMPUTE_THREAD_LIMIT = typename STATE_COMPUTE_MODE::PIXEL_ASYNC_COMPUTE_THREAD_LIMIT;
|
||||
@@ -239,6 +239,5 @@ template struct EncodeEnableRayTracing<Family>;
|
||||
template struct EncodeNoop<Family>;
|
||||
template struct EncodeStoreMemory<Family>;
|
||||
template struct EncodeMemoryFence<Family>;
|
||||
template struct EncodeKernelArgsBuffer<Family>;
|
||||
template struct EnodeUserInterrupt<Family>;
|
||||
} // namespace NEO
|
||||
|
||||
@@ -20,7 +20,6 @@ using Family = NEO::XeHpgCoreFamily;
|
||||
#include "shared/source/helpers/gfx_core_helper_tgllp_and_later.inl"
|
||||
#include "shared/source/helpers/gfx_core_helper_xehp_and_later.inl"
|
||||
#include "shared/source/helpers/local_memory_access_modes.h"
|
||||
#include "shared/source/helpers/logical_state_helper.inl"
|
||||
|
||||
namespace NEO {
|
||||
template <>
|
||||
@@ -187,6 +186,4 @@ template class GfxCoreHelperHw<Family>;
|
||||
template class FlatBatchBufferHelperHw<Family>;
|
||||
template struct MemorySynchronizationCommands<Family>;
|
||||
template struct LriHelper<Family>;
|
||||
|
||||
template LogicalStateHelper *LogicalStateHelper::create<Family>();
|
||||
} // namespace NEO
|
||||
|
||||
@@ -19,7 +19,6 @@ template <class T>
|
||||
struct CmdParse;
|
||||
|
||||
namespace NEO {
|
||||
class LogicalStateHelper;
|
||||
struct XeHpgCore {
|
||||
#include "shared/source/generated/xe_hpg_core/hw_cmds_generated_xe_hpg_core.inl"
|
||||
|
||||
@@ -105,7 +104,6 @@ struct XeHpgCoreFamily : public XeHpgCore {
|
||||
using XY_COLOR_BLT = typename GfxFamily::XY_FAST_COLOR_BLT;
|
||||
using MI_STORE_REGISTER_MEM_CMD = typename GfxFamily::MI_STORE_REGISTER_MEM;
|
||||
using TimestampPacketType = uint32_t;
|
||||
using LogicalStateHelperHw = LogicalStateHelper;
|
||||
static const COMPUTE_WALKER cmdInitGpgpuWalker;
|
||||
static const CFE_STATE cmdInitCfeState;
|
||||
static const INTERFACE_DESCRIPTOR_DATA cmdInitInterfaceDescriptorData;
|
||||
|
||||
Reference in New Issue
Block a user