diff --git a/level_zero/core/source/cmdlist/cmdlist.h b/level_zero/core/source/cmdlist/cmdlist.h index a01ff29938..b508280024 100644 --- a/level_zero/core/source/cmdlist/cmdlist.h +++ b/level_zero/core/source/cmdlist/cmdlist.h @@ -8,9 +8,11 @@ #pragma once #include "shared/source/command_container/cmdcontainer.h" +#include "shared/source/command_stream/preemption_mode.h" #include "shared/source/command_stream/stream_properties.h" #include "shared/source/memory_manager/prefetch_manager.h" #include "shared/source/unified_memory/unified_memory.h" +#include "shared/source/utilities/stackvec.h" #include #include diff --git a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.h b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.h index 8343766c1e..edcc73e43e 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.h +++ b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.h @@ -7,6 +7,8 @@ #pragma once +#include "shared/source/command_stream/csr_definitions.h" + #include "level_zero/core/source/cmdlist/cmdlist_hw.h" namespace NEO { diff --git a/level_zero/tools/source/sysman/engine/windows/os_engine_imp.cpp b/level_zero/tools/source/sysman/engine/windows/os_engine_imp.cpp index 6edabe3b20..e201f5c05f 100644 --- a/level_zero/tools/source/sysman/engine/windows/os_engine_imp.cpp +++ b/level_zero/tools/source/sysman/engine/windows/os_engine_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,9 @@ #include "sysman/engine/windows/os_engine_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + namespace L0 { ze_result_t WddmEngineImp::getActivity(zes_engine_stats_t *pStats) { diff --git a/level_zero/tools/source/sysman/events/windows/os_events_imp.cpp b/level_zero/tools/source/sysman/events/windows/os_events_imp.cpp index 31749867bd..4b8fb73910 100644 --- a/level_zero/tools/source/sysman/events/windows/os_events_imp.cpp +++ b/level_zero/tools/source/sysman/events/windows/os_events_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2021 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,7 @@ #include "level_zero/tools/source/sysman/events/windows/os_events_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" #include "level_zero/tools/source/sysman/windows/os_sysman_imp.h" namespace L0 { diff --git a/level_zero/tools/source/sysman/events/windows/os_events_imp.h b/level_zero/tools/source/sysman/events/windows/os_events_imp.h index 9e619c07b1..9cbb000e54 100644 --- a/level_zero/tools/source/sysman/events/windows/os_events_imp.h +++ b/level_zero/tools/source/sysman/events/windows/os_events_imp.h @@ -1,11 +1,12 @@ /* - * Copyright (C) 2020-2021 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once +#include "shared/source/gmm_helper/gmm_lib.h" #include "shared/source/helpers/non_copyable_or_moveable.h" #include "level_zero/tools/source/sysman/events/os_events.h" diff --git a/level_zero/tools/source/sysman/fan/windows/os_fan_imp.cpp b/level_zero/tools/source/sysman/fan/windows/os_fan_imp.cpp index 3847e4b3b6..c16acedcbf 100644 --- a/level_zero/tools/source/sysman/fan/windows/os_fan_imp.cpp +++ b/level_zero/tools/source/sysman/fan/windows/os_fan_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,8 @@ #include "sysman/fan/windows/os_fan_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + namespace L0 { struct FanPoint { diff --git a/level_zero/tools/source/sysman/firmware/windows/os_firmware_imp.cpp b/level_zero/tools/source/sysman/firmware/windows/os_firmware_imp.cpp index 73097b3a00..a436ea8884 100644 --- a/level_zero/tools/source/sysman/firmware/windows/os_firmware_imp.cpp +++ b/level_zero/tools/source/sysman/firmware/windows/os_firmware_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -8,6 +8,7 @@ #include "level_zero/tools/source/sysman/firmware/windows/os_firmware_imp.h" #include "level_zero/tools/source/sysman/firmware_util/firmware_util.h" +#include "level_zero/tools/source/sysman/sysman_const.h" #include "level_zero/tools/source/sysman/windows/os_sysman_imp.h" namespace L0 { diff --git a/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp b/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp index e444434ed1..6a09213e78 100644 --- a/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp +++ b/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,7 +7,9 @@ #include "level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.h" +#include "level_zero/tools/source/sysman/frequency/frequency.h" #include "level_zero/tools/source/sysman/sysman_const.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" namespace L0 { diff --git a/level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.cpp b/level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.cpp index a268898288..35f7aa98d3 100644 --- a/level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.cpp +++ b/level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,8 @@ #include "level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + namespace L0 { Device *WddmGlobalOperationsImp::getDevice() { diff --git a/level_zero/tools/source/sysman/memory/windows/os_memory_imp.cpp b/level_zero/tools/source/sysman/memory/windows/os_memory_imp.cpp index 2e5664564a..57828e85b2 100644 --- a/level_zero/tools/source/sysman/memory/windows/os_memory_imp.cpp +++ b/level_zero/tools/source/sysman/memory/windows/os_memory_imp.cpp @@ -7,6 +7,8 @@ #include "sysman/memory/windows/os_memory_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + template std::string intToHex(I w, size_t hexLength = sizeof(I) << 1) { static const char *digits = "0123456789ABCDEF"; diff --git a/level_zero/tools/source/sysman/pci/windows/os_pci_imp.cpp b/level_zero/tools/source/sysman/pci/windows/os_pci_imp.cpp index bd7278a52f..bbc18d43e0 100644 --- a/level_zero/tools/source/sysman/pci/windows/os_pci_imp.cpp +++ b/level_zero/tools/source/sysman/pci/windows/os_pci_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -9,7 +9,9 @@ #include "shared/source/memory_manager/memory_manager.h" +#include "level_zero/core/source/device/device.h" #include "level_zero/core/source/driver/driver_handle.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" namespace L0 { diff --git a/level_zero/tools/source/sysman/power/windows/os_power_imp.cpp b/level_zero/tools/source/sysman/power/windows/os_power_imp.cpp index b50d548b1a..ff5c7943de 100644 --- a/level_zero/tools/source/sysman/power/windows/os_power_imp.cpp +++ b/level_zero/tools/source/sysman/power/windows/os_power_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,9 @@ #include "sysman/power/windows/os_power_imp.h" +#include "level_zero/tools/source/sysman/sysman_const.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + namespace L0 { ze_result_t WddmPowerImp::getProperties(zes_power_properties_t *pProperties) { diff --git a/level_zero/tools/source/sysman/temperature/windows/os_temperature_imp.cpp b/level_zero/tools/source/sysman/temperature/windows/os_temperature_imp.cpp index 897da731fc..06582694d0 100644 --- a/level_zero/tools/source/sysman/temperature/windows/os_temperature_imp.cpp +++ b/level_zero/tools/source/sysman/temperature/windows/os_temperature_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2021 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,6 +7,8 @@ #include "sysman/temperature/windows/os_temperature_imp.h" +#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" + namespace L0 { ze_result_t WddmTemperatureImp::getProperties(zes_temp_properties_t *pProperties) { diff --git a/level_zero/tools/source/sysman/windows/os_sysman_imp.cpp b/level_zero/tools/source/sysman/windows/os_sysman_imp.cpp index 98cd39a9c3..c660a73bdc 100644 --- a/level_zero/tools/source/sysman/windows/os_sysman_imp.cpp +++ b/level_zero/tools/source/sysman/windows/os_sysman_imp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -11,6 +11,7 @@ #include "level_zero/core/source/driver/driver_handle.h" #include "level_zero/tools/source/sysman/firmware_util/firmware_util.h" +#include "level_zero/tools/source/sysman/sysman_imp.h" #include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" namespace L0 { diff --git a/level_zero/tools/source/sysman/windows/os_sysman_imp.h b/level_zero/tools/source/sysman/windows/os_sysman_imp.h index 2199e223ff..1c2df25d74 100644 --- a/level_zero/tools/source/sysman/windows/os_sysman_imp.h +++ b/level_zero/tools/source/sysman/windows/os_sysman_imp.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,16 +7,19 @@ #pragma once #include "shared/source/helpers/non_copyable_or_moveable.h" -#include "shared/source/os_interface/os_interface.h" -#include "shared/source/os_interface/windows/wddm/wddm.h" -#include "level_zero/core/source/device/device.h" -#include "level_zero/tools/source/sysman/sysman_imp.h" -#include "level_zero/tools/source/sysman/windows/kmd_sys.h" -#include "level_zero/tools/source/sysman/windows/kmd_sys_manager.h" +#include "level_zero/tools/source/sysman/os_sysman.h" + +namespace NEO { +class Wddm; +} namespace L0 { + class FirmwareUtil; +class KmdSysManager; + +struct Device; class WddmSysmanImp : public OsSysman, NEO::NonCopyableOrMovableClass { public: diff --git a/level_zero/tools/test/unit_tests/sources/sysman/windows/mock_sysman_fixture.h b/level_zero/tools/test/unit_tests/sources/sysman/windows/mock_sysman_fixture.h index 81cf00b643..f820ed1de9 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/windows/mock_sysman_fixture.h +++ b/level_zero/tools/test/unit_tests/sources/sysman/windows/mock_sysman_fixture.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -14,6 +14,7 @@ #include "level_zero/core/test/unit_tests/fixtures/device_fixture.h" #include "level_zero/tools/source/sysman/sysman.h" +#include "level_zero/tools/source/sysman/sysman_imp.h" #include "level_zero/tools/test/unit_tests/sources/sysman/mocks/mock_sysman_env_vars.h" #include "gmock/gmock.h" diff --git a/opencl/source/command_queue/command_queue.h b/opencl/source/command_queue/command_queue.h index c55d0544cd..4c75789551 100644 --- a/opencl/source/command_queue/command_queue.h +++ b/opencl/source/command_queue/command_queue.h @@ -8,7 +8,6 @@ #pragma once #include "shared/source/command_stream/csr_definitions.h" #include "shared/source/helpers/completion_stamp.h" -#include "shared/source/helpers/engine_control.h" #include "shared/source/helpers/engine_node_helper.h" #include "shared/source/helpers/map_operation_type.h" #include "shared/source/helpers/timestamp_packet_container.h" diff --git a/opencl/source/helpers/task_information.h b/opencl/source/helpers/task_information.h index f674189221..311bff11d4 100644 --- a/opencl/source/helpers/task_information.h +++ b/opencl/source/helpers/task_information.h @@ -32,6 +32,8 @@ class TimestampPacketContainer; template class TagNode; +enum PreemptionMode : uint32_t; + struct KernelOperation { protected: struct ResourceCleaner { diff --git a/shared/source/command_container/cmdcontainer.h b/shared/source/command_container/cmdcontainer.h index cc7c2e8137..aa86c603c1 100644 --- a/shared/source/command_container/cmdcontainer.h +++ b/shared/source/command_container/cmdcontainer.h @@ -1,12 +1,12 @@ /* - * Copyright (C) 2019-2022 Intel Corporation + * Copyright (C) 2019-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once -#include "shared/source/command_stream/csr_definitions.h" +#include "shared/source/helpers/constants.h" #include "shared/source/helpers/non_copyable_or_moveable.h" #include "shared/source/indirect_heap/indirect_heap_type.h" @@ -29,6 +29,16 @@ using CmdBufferContainer = std::vector; using HeapContainer = std::vector; using HeapType = IndirectHeapType; +namespace CSRequirements { +// cleanup section usually contains 1-2 pipeControls BB end and place for BB start +// that makes 16 * 2 + 4 + 8 = 40 bytes +// then command buffer is aligned to cacheline that can take up to 63 bytes +// to be sure everything fits minimal size is at 2 x cacheline. + +inline constexpr auto minCommandQueueCommandStreamSize = 2 * MemoryConstants::cacheLineSize; +inline constexpr auto csOverfetchSize = MemoryConstants::pageSize; +} // namespace CSRequirements + class CommandContainer : public NonCopyableOrMovableClass { public: enum class ErrorCode { diff --git a/shared/source/command_container/command_encoder.h b/shared/source/command_container/command_encoder.h index 5d4753ee3e..eeed20f116 100644 --- a/shared/source/command_container/command_encoder.h +++ b/shared/source/command_container/command_encoder.h @@ -9,9 +9,11 @@ #include "shared/source/command_container/cmdcontainer.h" #include "shared/source/command_container/encode_alu_helper.h" +#include "shared/source/command_stream/preemption_mode.h" #include "shared/source/debugger/debugger.h" #include "shared/source/helpers/register_offsets.h" #include "shared/source/kernel/kernel_arg_descriptor.h" +#include "shared/source/kernel/kernel_execution_type.h" #include @@ -19,6 +21,7 @@ namespace NEO { struct EncodeSurfaceStateArgs; struct MiFlushArgs; struct PipeControlArgs; +struct PipelineSelectArgs; enum class SlmPolicy; struct DispatchKernelEncoderI; struct RootDeviceEnvironment; diff --git a/shared/source/command_container/command_encoder_bdw_and_later.inl b/shared/source/command_container/command_encoder_bdw_and_later.inl index c105bffb4a..767967fe57 100644 --- a/shared/source/command_container/command_encoder_bdw_and_later.inl +++ b/shared/source/command_container/command_encoder_bdw_and_later.inl @@ -9,6 +9,7 @@ #include "shared/source/command_container/command_encoder.h" #include "shared/source/command_container/encode_surface_state.h" #include "shared/source/command_stream/linear_stream.h" +#include "shared/source/command_stream/memory_compression_state.h" #include "shared/source/command_stream/preemption.h" #include "shared/source/execution_environment/execution_environment.h" #include "shared/source/gmm_helper/gmm_helper.h" @@ -16,6 +17,7 @@ #include "shared/source/helpers/hw_helper.h" #include "shared/source/helpers/pause_on_gpu_properties.h" #include "shared/source/helpers/pipe_control_args.h" +#include "shared/source/helpers/pipeline_select_args.h" #include "shared/source/helpers/simd_helper.h" #include "shared/source/helpers/state_base_address.h" #include "shared/source/kernel/dispatch_kernel_encoder_interface.h" diff --git a/shared/source/command_stream/command_stream_receiver.h b/shared/source/command_stream/command_stream_receiver.h index 7c7193b99e..2323090f27 100644 --- a/shared/source/command_stream/command_stream_receiver.h +++ b/shared/source/command_stream/command_stream_receiver.h @@ -6,6 +6,7 @@ */ #pragma once +#include "shared/source/command_stream/csr_definitions.h" #include "shared/source/command_stream/linear_stream.h" #include "shared/source/command_stream/stream_properties.h" #include "shared/source/helpers/blit_properties_container.h" diff --git a/shared/source/command_stream/csr_definitions.h b/shared/source/command_stream/csr_definitions.h index 7e883d4402..8691beb560 100644 --- a/shared/source/command_stream/csr_definitions.h +++ b/shared/source/command_stream/csr_definitions.h @@ -13,7 +13,6 @@ #include "shared/source/command_stream/preemption_mode.h" #include "shared/source/command_stream/queue_throttle.h" #include "shared/source/command_stream/thread_arbitration_policy.h" -#include "shared/source/helpers/constants.h" #include "shared/source/helpers/pipeline_select_args.h" #include "shared/source/kernel/grf_config.h" #include "shared/source/kernel/kernel_execution_type.h" @@ -23,16 +22,6 @@ namespace NEO { struct FlushStampTrackingObj; -namespace CSRequirements { -// cleanup section usually contains 1-2 pipeControls BB end and place for BB start -// that makes 16 * 2 + 4 + 8 = 40 bytes -// then command buffer is aligned to cacheline that can take up to 63 bytes -// to be sure everything fits minimal size is at 2 x cacheline. - -inline constexpr auto minCommandQueueCommandStreamSize = 2 * MemoryConstants::cacheLineSize; -inline constexpr auto csOverfetchSize = MemoryConstants::pageSize; -} // namespace CSRequirements - namespace TimeoutControls { inline constexpr int64_t maxTimeout = std::numeric_limits::max(); } diff --git a/shared/source/command_stream/preemption.inl b/shared/source/command_stream/preemption.inl index 2611fadcee..ce6876b4e6 100644 --- a/shared/source/command_stream/preemption.inl +++ b/shared/source/command_stream/preemption.inl @@ -8,6 +8,7 @@ #include "shared/source/built_ins/sip.h" #include "shared/source/command_stream/linear_stream.h" #include "shared/source/command_stream/preemption.h" +#include "shared/source/command_stream/preemption_mode.h" #include "shared/source/device/device.h" #include "shared/source/helpers/hw_helper.h" #include "shared/source/helpers/pipe_control_args.h" diff --git a/shared/source/direct_submission/direct_submission_hw.h b/shared/source/direct_submission/direct_submission_hw.h index 443a62fee5..871b9ff212 100644 --- a/shared/source/direct_submission/direct_submission_hw.h +++ b/shared/source/direct_submission/direct_submission_hw.h @@ -9,6 +9,7 @@ #include "shared/source/command_stream/linear_stream.h" #include "shared/source/helpers/completion_stamp.h" #include "shared/source/helpers/constants.h" +#include "shared/source/utilities/stackvec.h" #include diff --git a/shared/test/unit_test/gen8/state_base_address_tests_gen8.cpp b/shared/test/unit_test/gen8/state_base_address_tests_gen8.cpp index edc93e79d1..5d79bf70d6 100644 --- a/shared/test/unit_test/gen8/state_base_address_tests_gen8.cpp +++ b/shared/test/unit_test/gen8/state_base_address_tests_gen8.cpp @@ -1,10 +1,11 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ +#include "shared/source/command_stream/memory_compression_state.h" #include "shared/source/gen8/hw_cmds.h" #include "shared/test/common/test_macros/header/per_product_test_definitions.h" #include "shared/test/common/test_macros/test.h"