Update StreamProperties

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
Filip Hazubski 2021-05-31 12:04:57 +00:00 committed by Compute-Runtime-Automation
parent 5e29dccddc
commit b25c0e4fc0
10 changed files with 17 additions and 15 deletions

View File

@ -1852,13 +1852,13 @@ void CommandListCoreFamily<gfxCoreFamily>::updateStreamProperties(Kernel &kernel
using VFE_STATE_TYPE = typename GfxFamily::VFE_STATE_TYPE;
if (!containsAnyKernel) {
requiredStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), device->getHwInfo());
requiredStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), false, device->getHwInfo());
finalStreamState = requiredStreamState;
containsAnyKernel = true;
}
auto &hwInfo = device->getHwInfo();
finalStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), hwInfo);
finalStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), false, hwInfo);
if (finalStreamState.frontEndState.isDirty()) {
auto pVfeStateAddress = NEO::PreambleHelper<GfxFamily>::getSpaceForVfeState(commandContainer.getCommandStream(), hwInfo, engineGroupType);
auto pVfeState = new VFE_STATE_TYPE;

View File

@ -7,6 +7,7 @@
#pragma once
#include "shared/source/command_stream/command_stream_receiver_hw.h"
#include "shared/source/command_stream/csr_properties_flags.h"
#include "shared/source/command_stream/thread_arbitration_policy.h"
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/device/device.h"
@ -27,8 +28,6 @@
#include "opencl/source/program/kernel_info.h"
#include "opencl/source/program/program.h"
#include "csr_properties_flags.h"
#include <vector>
namespace NEO {

View File

@ -16,8 +16,8 @@ set(NEO_CORE_COMMAND_STREAM
${CMAKE_CURRENT_SOURCE_DIR}/csr_definitions.h
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps.cpp
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps.h
${CMAKE_CURRENT_SOURCE_DIR}/csr_properties_flags.h
${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/command_stream_receiver_hw_ext.inl
${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/csr_properties_flags.h
${CMAKE_CURRENT_SOURCE_DIR}/definitions${BRANCH_DIR_SUFFIX}/stream_properties.inl
${CMAKE_CURRENT_SOURCE_DIR}/device_command_stream.h
${CMAKE_CURRENT_SOURCE_DIR}/experimental_command_buffer.cpp

View File

@ -8,6 +8,7 @@
#pragma once
#include "shared/source/command_stream/aub_subcapture_status.h"
#include "shared/source/command_stream/csr_definitions.h"
#include "shared/source/command_stream/csr_properties_flags.h"
#include "shared/source/command_stream/linear_stream.h"
#include "shared/source/command_stream/submissions_aggregator.h"
#include "shared/source/command_stream/thread_arbitration_policy.h"
@ -22,7 +23,6 @@
#include "shared/source/os_interface/os_thread.h"
#include "shared/source/utilities/spinlock.h"
#include "csr_properties_flags.h"
#include "pipe_control_args.h"
#include <cstddef>

View File

@ -913,7 +913,9 @@ inline void CommandStreamReceiverHw<GfxFamily>::programVFEState(LinearStream &cs
auto engineGroupType = hwHelper.getEngineGroupType(getOsContext().getEngineType(), hwInfo);
auto pVfeState = PreambleHelper<GfxFamily>::getSpaceForVfeState(&csr, hwInfo, engineGroupType);
StreamProperties streamProperties{};
streamProperties.frontEndState.setProperties(lastKernelExecutionType == KernelExecutionType::Concurrent, hwInfo);
streamProperties.frontEndState.setProperties(lastKernelExecutionType == KernelExecutionType::Concurrent,
dispatchFlags.additionalKernelExecInfo == AdditionalKernelExecInfo::DisableOverdispatch,
hwInfo);
PreambleHelper<GfxFamily>::programVfeState(
pVfeState, hwInfo, requiredScratchSize, getScratchPatchAddress(),
maxFrontEndThreads, lastAdditionalKernelExecInfo, streamProperties);

View File

@ -7,6 +7,7 @@
#pragma once
#include "shared/source/command_stream/csr_deps.h"
#include "shared/source/command_stream/csr_properties_flags.h"
#include "shared/source/command_stream/memory_compression_state.h"
#include "shared/source/command_stream/queue_throttle.h"
#include "shared/source/command_stream/thread_arbitration_policy.h"
@ -17,8 +18,6 @@
#include "opencl/source/kernel/kernel_execution_type.h"
#include "csr_properties_flags.h"
#include <limits>
namespace NEO {

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2020 Intel Corporation
* Copyright (C) 2020-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@ -9,8 +9,11 @@
#include <cstdint>
namespace NEO {
namespace AdditionalKernelExecInfo {
constexpr uint32_t DisableOverdispatch = 0u;
constexpr uint32_t NotSet = 1u;
constexpr uint32_t NotApplicable = 2u;
} // namespace AdditionalKernelExecInfo
} // namespace NEO
} // namespace NEO

View File

@ -20,7 +20,7 @@ struct StateComputeModeProperties {
};
struct FrontEndProperties {
void setProperties(bool isCooperativeKernel, const HardwareInfo &hwInfo);
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, const HardwareInfo &hwInfo);
void setProperties(const FrontEndProperties &properties);
bool isDirty();
void clearIsDirty();

View File

@ -31,7 +31,7 @@ void StateComputeModeProperties::clearIsDirty() {
isCoherencyRequired.isDirty = false;
}
void FrontEndProperties::setProperties(bool isCooperativeKernel, const HardwareInfo &hwInfo) {
void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableOverdispatch, const HardwareInfo &hwInfo) {
}
void FrontEndProperties::setProperties(const FrontEndProperties &properties) {

View File

@ -7,8 +7,7 @@
#pragma once
#include "shared/source/command_stream/csr_definitions.h"
#include "csr_properties_flags.h"
#include "shared/source/command_stream/csr_properties_flags.h"
using namespace NEO;