Update StreamProperties
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
parent
5e29dccddc
commit
b25c0e4fc0
|
@ -1852,13 +1852,13 @@ void CommandListCoreFamily<gfxCoreFamily>::updateStreamProperties(Kernel &kernel
|
||||||
using VFE_STATE_TYPE = typename GfxFamily::VFE_STATE_TYPE;
|
using VFE_STATE_TYPE = typename GfxFamily::VFE_STATE_TYPE;
|
||||||
|
|
||||||
if (!containsAnyKernel) {
|
if (!containsAnyKernel) {
|
||||||
requiredStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), device->getHwInfo());
|
requiredStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), false, device->getHwInfo());
|
||||||
finalStreamState = requiredStreamState;
|
finalStreamState = requiredStreamState;
|
||||||
containsAnyKernel = true;
|
containsAnyKernel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto &hwInfo = device->getHwInfo();
|
auto &hwInfo = device->getHwInfo();
|
||||||
finalStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), hwInfo);
|
finalStreamState.frontEndState.setProperties(kernel.usesSyncBuffer(), false, hwInfo);
|
||||||
if (finalStreamState.frontEndState.isDirty()) {
|
if (finalStreamState.frontEndState.isDirty()) {
|
||||||
auto pVfeStateAddress = NEO::PreambleHelper<GfxFamily>::getSpaceForVfeState(commandContainer.getCommandStream(), hwInfo, engineGroupType);
|
auto pVfeStateAddress = NEO::PreambleHelper<GfxFamily>::getSpaceForVfeState(commandContainer.getCommandStream(), hwInfo, engineGroupType);
|
||||||
auto pVfeState = new VFE_STATE_TYPE;
|
auto pVfeState = new VFE_STATE_TYPE;
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "shared/source/command_stream/command_stream_receiver_hw.h"
|
#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/command_stream/thread_arbitration_policy.h"
|
||||||
#include "shared/source/debug_settings/debug_settings_manager.h"
|
#include "shared/source/debug_settings/debug_settings_manager.h"
|
||||||
#include "shared/source/device/device.h"
|
#include "shared/source/device/device.h"
|
||||||
|
@ -27,8 +28,6 @@
|
||||||
#include "opencl/source/program/kernel_info.h"
|
#include "opencl/source/program/kernel_info.h"
|
||||||
#include "opencl/source/program/program.h"
|
#include "opencl/source/program/program.h"
|
||||||
|
|
||||||
#include "csr_properties_flags.h"
|
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
|
@ -16,8 +16,8 @@ set(NEO_CORE_COMMAND_STREAM
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/csr_definitions.h
|
${CMAKE_CURRENT_SOURCE_DIR}/csr_definitions.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps.h
|
${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}/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}/definitions${BRANCH_DIR_SUFFIX}/stream_properties.inl
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/device_command_stream.h
|
${CMAKE_CURRENT_SOURCE_DIR}/device_command_stream.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/experimental_command_buffer.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/experimental_command_buffer.cpp
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "shared/source/command_stream/aub_subcapture_status.h"
|
#include "shared/source/command_stream/aub_subcapture_status.h"
|
||||||
#include "shared/source/command_stream/csr_definitions.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/linear_stream.h"
|
||||||
#include "shared/source/command_stream/submissions_aggregator.h"
|
#include "shared/source/command_stream/submissions_aggregator.h"
|
||||||
#include "shared/source/command_stream/thread_arbitration_policy.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/os_interface/os_thread.h"
|
||||||
#include "shared/source/utilities/spinlock.h"
|
#include "shared/source/utilities/spinlock.h"
|
||||||
|
|
||||||
#include "csr_properties_flags.h"
|
|
||||||
#include "pipe_control_args.h"
|
#include "pipe_control_args.h"
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
|
@ -913,7 +913,9 @@ inline void CommandStreamReceiverHw<GfxFamily>::programVFEState(LinearStream &cs
|
||||||
auto engineGroupType = hwHelper.getEngineGroupType(getOsContext().getEngineType(), hwInfo);
|
auto engineGroupType = hwHelper.getEngineGroupType(getOsContext().getEngineType(), hwInfo);
|
||||||
auto pVfeState = PreambleHelper<GfxFamily>::getSpaceForVfeState(&csr, hwInfo, engineGroupType);
|
auto pVfeState = PreambleHelper<GfxFamily>::getSpaceForVfeState(&csr, hwInfo, engineGroupType);
|
||||||
StreamProperties streamProperties{};
|
StreamProperties streamProperties{};
|
||||||
streamProperties.frontEndState.setProperties(lastKernelExecutionType == KernelExecutionType::Concurrent, hwInfo);
|
streamProperties.frontEndState.setProperties(lastKernelExecutionType == KernelExecutionType::Concurrent,
|
||||||
|
dispatchFlags.additionalKernelExecInfo == AdditionalKernelExecInfo::DisableOverdispatch,
|
||||||
|
hwInfo);
|
||||||
PreambleHelper<GfxFamily>::programVfeState(
|
PreambleHelper<GfxFamily>::programVfeState(
|
||||||
pVfeState, hwInfo, requiredScratchSize, getScratchPatchAddress(),
|
pVfeState, hwInfo, requiredScratchSize, getScratchPatchAddress(),
|
||||||
maxFrontEndThreads, lastAdditionalKernelExecInfo, streamProperties);
|
maxFrontEndThreads, lastAdditionalKernelExecInfo, streamProperties);
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "shared/source/command_stream/csr_deps.h"
|
#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/memory_compression_state.h"
|
||||||
#include "shared/source/command_stream/queue_throttle.h"
|
#include "shared/source/command_stream/queue_throttle.h"
|
||||||
#include "shared/source/command_stream/thread_arbitration_policy.h"
|
#include "shared/source/command_stream/thread_arbitration_policy.h"
|
||||||
|
@ -17,8 +18,6 @@
|
||||||
|
|
||||||
#include "opencl/source/kernel/kernel_execution_type.h"
|
#include "opencl/source/kernel/kernel_execution_type.h"
|
||||||
|
|
||||||
#include "csr_properties_flags.h"
|
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2020 Intel Corporation
|
* Copyright (C) 2020-2021 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
|
@ -9,8 +9,11 @@
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
namespace AdditionalKernelExecInfo {
|
namespace AdditionalKernelExecInfo {
|
||||||
|
constexpr uint32_t DisableOverdispatch = 0u;
|
||||||
constexpr uint32_t NotSet = 1u;
|
constexpr uint32_t NotSet = 1u;
|
||||||
constexpr uint32_t NotApplicable = 2u;
|
constexpr uint32_t NotApplicable = 2u;
|
||||||
} // namespace AdditionalKernelExecInfo
|
} // namespace AdditionalKernelExecInfo
|
||||||
} // namespace NEO
|
|
||||||
|
} // namespace NEO
|
|
@ -20,7 +20,7 @@ struct StateComputeModeProperties {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FrontEndProperties {
|
struct FrontEndProperties {
|
||||||
void setProperties(bool isCooperativeKernel, const HardwareInfo &hwInfo);
|
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, const HardwareInfo &hwInfo);
|
||||||
void setProperties(const FrontEndProperties &properties);
|
void setProperties(const FrontEndProperties &properties);
|
||||||
bool isDirty();
|
bool isDirty();
|
||||||
void clearIsDirty();
|
void clearIsDirty();
|
||||||
|
|
|
@ -31,7 +31,7 @@ void StateComputeModeProperties::clearIsDirty() {
|
||||||
isCoherencyRequired.isDirty = false;
|
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) {
|
void FrontEndProperties::setProperties(const FrontEndProperties &properties) {
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "shared/source/command_stream/csr_definitions.h"
|
#include "shared/source/command_stream/csr_definitions.h"
|
||||||
|
#include "shared/source/command_stream/csr_properties_flags.h"
|
||||||
#include "csr_properties_flags.h"
|
|
||||||
|
|
||||||
using namespace NEO;
|
using namespace NEO;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue