Commit Graph

268 Commits

Author SHA1 Message Date
Lukasz Jobczyk 33121281a6 Add comment describing copyCommandBufferIntoRing
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-28 13:55:09 +01:00
Lukasz Jobczyk 494ef4129e Disable copy command buffer into ring when metrics enabled
Related-To: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-27 21:30:34 +01:00
Dunajski, Bartosz c00c310cf4 Add MI_MATH MOCS support
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-27 19:06:24 +01:00
Lukasz Jobczyk 2f5be7a48d Copy command buffer into ring buffer
Resolves: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-22 16:37:34 +01:00
Dunajski, Bartosz 6ebdc51fae Dynamic queue size limit in RelaxedOrdering mode
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-06 12:02:02 +01:00
Kamil Kopryk 2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Dunajski, Bartosz e2f7fece00 Increase RealxedOrdering queue size
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-01 14:57:00 +01:00
Kamil Kopryk 29f54be816 refactor: don't use global ProductHelper getter 17
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-27 19:28:45 +01:00
Kamil Kopryk b101f9f2f5 refactor: don't use global ProductHelper getter 12/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-27 12:29:18 +01:00
Kamil Kopryk 27393c76ea refactor: don't use global ProductHelper getter 11/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-26 08:16:52 +01:00
Warchulski, Jaroslaw e21cf516d3 Cleanup includes 44
Cleaned up files:
level_zero/tools/source/sysman/windows/os_sysman_imp.h
opencl/source/command_queue/command_queue.h
shared/source/command_container/cmdcontainer.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-25 16:05:22 +01:00
Warchulski, Jaroslaw c43233dabf Cleanup includes 42
Cleaned up files:
level_zero/core/source/kernel/kernel_hw.h
shared/source/helpers/common_types.h
shared/test/common/libult/linux/drm_mock.h
shared/test/common/libult/ult_command_stream_receiver.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-25 09:16:39 +01:00
Warchulski, Jaroslaw 11764dd9bf Cleanup includes 40
Cleaned up files:
shared/source/os_interface/linux/drm_neo.h
shared/source/os_interface/windows/wddm/um_km_data_translator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-23 16:19:35 +01:00
Kamil Kopryk a4eba996f7 refactor: don't use global ProductHelper getter 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 10:27:27 +01:00
Warchulski, Jaroslaw 77501d86ba Cleanup includes 35
Cleaned up files:
shared/source/command_stream/command_stream_receiver.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-17 18:51:40 +01:00
Lukasz Jobczyk 3bf4291558 Align mmap cpu va to 2MB for sizes greater than 2MB
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-01-17 18:26:49 +01:00
Lukasz Jobczyk 3f0e8f52bc [PVC] Remove tlb flush
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-01-12 07:46:29 +01:00
Compute-Runtime-Validation e53eae6e5f Revert "[PVC] Remove tlb flush"
This reverts commit 181d2021ed.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-01-11 19:27:55 +01:00
Kamil Kopryk 200734892b refactor: don't use global gfxCoreHelper getter 7/7
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-11 16:19:32 +01:00
Lukasz Jobczyk 181d2021ed [PVC] Remove tlb flush
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-01-11 15:11:35 +01:00
Warchulski, Jaroslaw bd81b5546d Cleanup includes 25
Cleaned up files:
level_zero/core/source/device/device.h
opencl/source/helpers/dispatch_info.h
shared/source/os_interface/os_interface.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-10 12:54:45 +01:00
Mateusz Jablonski 43b790957d style: format code using clang-format 15.0.6
Related-To: NEO-7500
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-05 10:33:47 +01:00
Warchulski, Jaroslaw 0eac749fcc Cleanup includes 19
Cleaned up files:
opencl/source/api/cl_types.h
shared/source/compiler_interface/external_functions.h
shared/source/compiler_interface/linker.h
shared/source/device_binary_format/elf/elf.h
shared/source/helpers/preamble.h
shared/source/memory_manager/definitions/storage_info.h
shared/source/memory_manager/memory_manager.h
shared/source/memory_manager/os_agnostic_memory_manager.h
shared/source/program/program_info.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 11:02:05 +01:00
Lukasz Jobczyk 6255361fcf Revert "[PVC] Remove tlb flush from CCS"
This reverts commit e711aa9bc7.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-01-02 16:44:48 +01:00
Warchulski, Jaroslaw a2fe929f0c Cleanup includes 18
Cleaned up files:
shared/source/command_stream/command_stream_receiver_hw.h
shared/source/compiler_interface/compiler_interface.h
shared/source/direct_submission/direct_submission_hw.h
shared/source/helpers/dirty_state_helpers.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 13:28:29 +01:00
Warchulski, Jaroslaw 9f3fc6858e Cleanup includes 16
Cleaned up files:
shared/source/built_ins/built_ins.h
shared/source/command_container/command_encoder.h
shared/source/helpers/hw_helper.h
shared/source/memory_manager/allocation_properties.h
shared/source/xe_hpc_core/hw_cmds.h
shared/test/common/test_macros/test_excludes.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-29 15:12:37 +01:00
Kamil Kopryk 3c5b3d4bac Refactor: don't use global ProductHelper getter in shared files 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-29 09:50:06 +01:00
Lukasz Jobczyk e711aa9bc7 [PVC] Remove tlb flush from CCS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-12-23 13:22:59 +01:00
Warchulski, Jaroslaw c3a86232d9 Cleanup includes 15
Cleaned up files:
shared/source/command_stream/command_stream_receiver.h
shared/source/command_stream/submissions_aggregator.h
shared/source/helpers/flat_batch_buffer_helper.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-23 12:36:51 +01:00
Compute-Runtime-Validation 5652edb92f Revert "Remove tlb flush from CCS"
This reverts commit 797f56bed4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-23 11:42:08 +01:00
Warchulski, Jaroslaw f275eea6ec Cleanup includes 14
Cleaned up files:
shared/source/device/device.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-23 10:46:34 +01:00
Lukasz Jobczyk 797f56bed4 Remove tlb flush from CCS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-12-23 08:52:38 +01:00
Kamil Kopryk 232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Kamil Kopryk 03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Kamil Kopryk 6993ed5c52 Reduce binaries sizes 2/n
Observed about 50MB reduction in overall binaries size (directory build))
when building all targets
with MSVC (Visual Studio 2022 17.3.0 preview 6)
using Debug 64 configuration.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-08 16:14:38 +01:00
Dunajski, Bartosz 3b91cc1b50 Enable RelaxedOrdering for XE_HPC Immediate cmd lists
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>

Related-To: NEO-7458
2022-12-08 10:12:40 +01:00
Mateusz Jablonski 103f522f18 Create definition of tag allocation layout
we use tag allocation for multiple purposes, therefore we should define
all offsets in one place

Resolves: NEO-7559
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-06 16:49:07 +01:00
Dunajski, Bartosz 1e41f7952b RelaxedOrdering: Queue size limit
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-12-06 12:40:12 +01:00
Dunajski, Bartosz 1a05ec90cc Enable RelaxedOrdering for BCS if feature is enabled
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-12-06 12:03:35 +01:00
Dunajski, Bartosz 6f283d7bf5 Debug flag to override fence start value
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-12-01 14:58:05 +01:00
Dunajski, Bartosz 20b6c76298 RelaxedOrdering: Disable feature for BCS
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-29 17:45:40 +01:00
Dunajski, Bartosz 2c08f2ca8c RelaxedOrdering: Optimize return ptr programming
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-29 13:22:25 +01:00
Maciej Plewka 4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Dunajski, Bartosz 3f962bf3e8 RelaxedOrdering: Improve dependencies tracking
Avoid not needed scheduler programming
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-28 16:00:21 +01:00
Dunajski, Bartosz a7d4162ca2 RelaxedOrdering: Preallocate scheduler to optimize dispatch time
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-28 12:42:44 +01:00
Dunajski, Bartosz a969636b6a RelaxedOrdering: Optimize GPU Queue stall by adding early return
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-24 16:41:05 +01:00
Dunajski, Bartosz bc619fcbec Queue stall mode for RelaxedOrdering
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-23 12:09:52 +01:00
Mateusz Jablonski bb308c04ed Refactor aubstream include interface
set include path to third_party/aub_stream
rename third_party/aub_stream/headers -> third_party/aub_stream/aubstream

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-23 10:30:13 +01:00
Dunajski, Bartosz e050d231b9 RelaxedOrdering: Add support for return pointer registers programming
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-23 09:58:33 +01:00
Dunajski, Bartosz bc5d9d149d Task VA tracking for RelaxedOrdering mode
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-21 17:35:08 +01:00
Dunajski, Bartosz e6c1658bae Relaxed ordering scheduler section for DirectSubmission
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-21 10:56:26 +01:00
Warchulski, Jaroslaw f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Dunajski, Bartosz 89b96e5e8f Introduce initial implementation of DirectSubmission relaxed ordering mode.
Initial implementation of task store section

Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-17 12:23:29 +01:00
Lukasz Jobczyk 5011046a17 Add sfence when stop ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-09 20:02:03 +01:00
Zbigniew Zdanowicz 87822f94e2 Replace virtual method call for DC flush with stored bool value 2/n
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-12 09:43:01 +02:00
Dunajski, Bartosz eb79500c60 Debug flag to print completion fence usage.
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-11 14:58:57 +02:00
Dunajski, Bartosz 2102117e12 Fix data race for TLB flush check
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-31 12:27:48 +02:00
Dunajski, Bartosz 595cfebaef Refactor PIPE_CONTROL programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-23 13:55:25 +02:00
Rafal Maziejuk 5e58104f5a Add flag to control prefetcher disabling behaviour
Certain platforms might not require prefetcher to
be disabled in direct submission. This change
provides a way to control that behaviour.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-7218
2022-08-16 16:01:30 +02:00
Lukasz Jobczyk ba244634b3 Set the default value of the controller timeout divisor to 1
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-05 09:52:58 +02:00
Dunajski, Bartosz a3903c385e Remove HW types from synchronization interface
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-07-25 13:59:26 +02:00
Bartosz Dunajski 52b00a11b0 Remove LSH from CommandQueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-07-19 08:47:02 +02:00
Lukasz Jobczyk 880464da77 Apply additional synchronization WA to DG2 ULLS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-07-06 13:37:56 +02:00
Bartosz Dunajski 61b2ee45cd Use LogicalStateHelper to encode SystemMemoryFence
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-24 13:29:58 +02:00
Lukasz Jobczyk 9761098733 Track ccs count per subdevice in direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-06-20 11:52:01 +02:00
Mateusz Jablonski e67307b724 Add DrmParam enum values for I915_EXEC values
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-15 08:39:39 +02:00
Lukasz Jobczyk 24ff26c396 Allocate new ring buffer if all are in use
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-06-10 12:45:49 +02:00
Lukasz Jobczyk 921f76eea0 Calculate timeout using CCSes count
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-25 11:44:11 +02:00
Lukasz Jobczyk d440d26c69 Ensure sleep is called in direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-24 14:25:24 +02:00
Lukasz Jobczyk 13f8139951 Change direct submission controller unit to microseconds
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-23 08:34:49 +02:00
Lukasz Jobczyk 888c935efb Do not wait for completion in direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-19 11:12:42 +02:00
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +02:00
Mateusz Jablonski de465b1e6c Move drm wrappers to a separate file
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-17 17:58:19 +02:00
Mateusz Jablonski 268393d776 Create wrapper for drm_i915_gem_exec_object2
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 13:14:27 +02:00
Lukasz Jobczyk d63a044e60 Add infrastructure to request ULLS restart
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-11 14:33:30 +02:00
Artur Harasimiuk e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Krzysztof Gibala 1c366d1ec0 Refactor: Change canonize method accessing point
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 14:16:31 +02:00
Artur Harasimiuk a6490062a9 fix code issues reported by clang 14
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-04-29 10:43:34 +02:00
Mateusz Jablonski ffd1c430b1 feature: use completion fence value from direct submission when available
Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-28 15:38:11 +02:00
Mateusz Jablonski 4a5f1b9358 refactor: extract common logic for waiting on user fences in Drm
Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-25 17:34:23 +02:00
Mateusz Jablonski 03185f7111 feature direct submission: use tag allocation as a completion fence
use tag allocation address as a completion address in exec call
wait for completion value before destroying drm direct submission

Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-25 13:30:55 +02:00
Mateusz Jablonski 4cb46ee15c Refactor direct submission: remove csr from members
create translation layer to obtain needed params

Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-20 17:20:17 +02:00
Mateusz Jablonski b5b8762faf refactor direct submission: Pass command stream receiver to ctor
Related-To: NEO-6643

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-19 23:02:55 +02:00
Bartosz Dunajski fc4eaa1894 Refactor passing GlobalFenceAllocation to DirectSubmission
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-07 16:08:07 +02:00
Bartosz Dunajski db9c0d1103 Refactor and enable MI_MEM_FENCE programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-07 12:53:56 +02:00
Bartosz Dunajski 6e9c890890 Enable sfence instruction programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-06 14:24:04 +02:00
Bartosz Dunajski 779bca39a7 Debug flag to add sfence instruction prior to DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-01 15:53:03 +02:00
Bartosz Dunajski 08e3853982 Debug flag to add extra MI_MEM_FENCE for DirectSubmission
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-30 16:07:25 +02:00
Bartosz Dunajski 68351249d1 Add debug flag to read back command buffer pointer
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-29 13:08:18 +02:00
Mateusz Jablonski 3ac0581f2e Add debug flags to read back cmd/ring buffer before unblocking semaphore
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-25 20:36:29 +01:00
Bartosz Dunajski be50afb930 Add and enable Direct Submission ring switch tag update WA
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-25 12:26:29 +01:00
Mateusz Jablonski 3792481d33 XeHPC Implicit scaling: put command/ring/semaphore buffer to first memory bank
In direct submission scenario command/ring/semaphore buffer allocations
are placed in the same memory bank to ensure that their memory is updated in
correct order

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-21 08:10:50 +01:00
Lukasz Jobczyk e870643c41 Adapt direct submission controller to implicit scaling
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-18 18:33:36 +01:00
Bartosz Dunajski e24322f266 Debug flag to control MI_ARB_CHECK prefetcher
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 12:50:05 +01:00
Bartosz Dunajski 4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Zbigniew Zdanowicz d44f3009b8 Add interface for user fence extension
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-19 19:58:22 +01:00
Raiyan Latif 394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Filip Hazubski 5be4d89b73 Rename function
Rename MemorySynchronizationCommands::isDcFlushAllowed
to MemorySynchronizationCommands::getDcFlushEnable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-30 17:03:22 +01:00
Zbigniew Zdanowicz b6da6471f2 Add notify parameter to direct submission post sync operations
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-23 17:35:48 +01:00
Filip Hazubski f4c151cce5 Refactor PipeControlArgs struct
Remove struct PipeControlArgsBase

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 17:13:16 +01:00
Filip Hazubski 9a450d1b74 Pass hwInfo to appendMiFlushDw
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 15:22:47 +01:00
Filip Hazubski 0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
Filip Hazubski 6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
Mateusz Jablonski 66bf806018 Remove magic number from set/getBatchBufferStartAddressGraphicsaddress methods
rename methods to set/getBatchBufferStartAddress

Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-16 19:03:01 +01:00
Bartosz Dunajski f20236c7f2 Initial PVC support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>

Related-To: NEO-5542
2021-12-07 10:22:41 +01:00
Milczarek, Slawomir 88121a6f24 Fixed crash in direct submission dtor
Crash on an attempt to read from tag address when ring is not started

Related-to: NEO-5869

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-12-06 11:56:19 +01:00
Zbigniew Zdanowicz 47dbe359bf Add command encoder for store data command
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-02 20:56:07 +01:00
Zbigniew Zdanowicz 3e1023fa1a Unify memory layout for all multi tile post sync operations
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-02 18:00:40 +01:00
Lukasz Jobczyk cc13d60f1d Add debug key to print direct submission ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-23 14:08:52 +01:00
Zbigniew Zdanowicz 7ea0a11c0a Unify programming of partition registers
Related-To: NEO-6262


Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-18 16:52:51 +01:00
Zbigniew Zdanowicz 76b8f6296f Move noop programming to dedicated encoder
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-18 10:28:56 +01:00
Lukasz Jobczyk d1a9b8e600 Fix task count update from wait on blitter direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-16 12:35:05 +01:00
Lukasz Jobczyk 555cb8f402 Sleep instead of busy loop for direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-02 11:53:42 +01:00
Lukasz Jobczyk 4ea452040d Defer direct submission control until first submit
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-29 14:27:25 +02:00
Zbigniew Zdanowicz 60805cdbcf Fix direct submission wait on multi tile device using single tile context
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-28 14:01:58 +02:00
Lukasz Jobczyk 5a240e1d66 Enable direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-26 12:07:11 +02:00
Zbigniew Zdanowicz f0d32ed5f7 Fix multi tile synchronization in direct submission
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-13 16:13:20 +02:00
Zbigniew Zdanowicz 7b95dc4be4 Add partitioned post sync for completion fence of direct submission
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-12 14:57:29 +02:00
Lukasz Jobczyk 67ed62e805 Use NEO::Thread instead of std::thread
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-09-14 14:09:18 +02:00
Mateusz Hoppe f2eb7f3aea Fix DirectSubmission residency handling
- allocations should be resident within OsContext

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-03 16:57:42 +02:00
Lukasz Jobczyk a3d970ee24 Track new resource bound per VM
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-09-02 12:32:50 +02:00
Lukasz Jobczyk 8d60fb2a07 Refactor tag update for stop ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-27 15:13:20 +02:00
Lukasz Jobczyk 4d2764eb0d Refactor direct submission per product files
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-23 19:13:30 +02:00
Lukasz Jobczyk 1638554a49 Add direct submission termination mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-20 13:57:28 +02:00
Lukasz Jobczyk dbf9198186 Flush tlb on BCS direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-07-30 16:26:47 +02:00
Zbigniew Zdanowicz 0e5ca243e2 Add notify enable parameter to post sync commands
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-17 19:22:51 +02:00
Jaroslaw Chodor 53ce391eb8 Fixing gcc warnig in DECLARE_COMMAND_BUFFER
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-06-09 15:51:51 +02:00
Jaroslaw Chodor d1af8706c0 Changing default for WDDM_LINUX support
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-06-09 03:13:32 +02:00
Jaroslaw Chodor b80a51e5bf Adding wsl_compute_helper
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-06-07 14:36:21 +02:00
Jaroslaw Chodor abf0649a5b Improving cpp compliance
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-20 00:10:06 +02:00
Lukasz Jobczyk 9a6b4e3273 Restore setting direct submission active
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-05-11 11:21:34 +02:00
Lukasz Jobczyk 8e1e213bcf Disable GEM_WAIT when new residency model available
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-05-10 14:59:21 +02:00
Lukasz Jobczyk b881e5f0fe Add missing cache flush to direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-26 12:39:37 +02:00
Lukasz Jobczyk e653699267 Disable monitor fence in Drm ULLS by default
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-20 13:10:22 +02:00
Lukasz Jobczyk 83a1a52bdc Flush tlb only when new resource is bound
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-15 12:11:13 +02:00
Lukasz Jobczyk 6d164fa8b5 Flush caches in direct submission by default
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-03-31 11:10:29 +02:00
Lukasz Jobczyk 083f8ae02c Add immediate extension to new residency model
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-02-08 14:53:11 +01:00
Zbigniew Zdanowicz 820efffdd0 Switch default CPU cache flush to disabled in direct submission
Change-Id: I1a5e5f67d3e6af129aeb611f203c243d892321bb
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-06 15:19:32 +02:00
Michal Mrozek 76a9ccc095 Do not flush caches in ULLS submissions by default.
Change-Id: I4a1c96c597eef8b85e4e43e90cdc4779765eb72b
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-09-23 09:46:08 +02:00
Mateusz Hoppe 2a18177ecb Minor fixes for compiler warnings
Change-Id: I25aa3a31d65e3055850c4731da77a83e3b7a41ab
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-19 10:59:52 +02:00
Lukasz Jobczyk 37c79dede8 Fix direct submission start on Linux
Related-To: NEO-5007

Change-Id: I60e6443d92ab1345d47c3438633a3bc41bf4ede6
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-15 15:33:55 +02:00
Zbigniew Zdanowicz 1afc985577 Add blitter support to direct submission
Related-To: NEO-5010

Change-Id: I084cec54a233e920b2868d2a61c60d1d87d0a91e
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-08-31 20:23:02 +02:00
Zbigniew Zdanowicz ba4dd9f866 Fix position of commands in diagnostic mode of direct submission
Related-To: NEO-4338

Change-Id: I439e5f66a351108625b7add5cda65c9887278632
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-08-19 17:04:53 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Lukasz Jobczyk 5bb73abfde Handle prefetching properly
Resolves: NEO-4338

Change-Id: I909e655efed22560049ed8eb7e9c41054824751c
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-18 13:54:40 +02:00
Mateusz Hoppe cdc7649e77 Pass OsContext to memory management methods
Operate on OsContext when per context VMs are used

Related-To: NEO-4957

Change-Id: Ia6bef88a80163d4ceee9f9bf59bda6b569d8929f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-13 19:48:54 +02:00
Lukasz Jobczyk c2a4835943 Add wait mechanism to drm direct submission
Related-To: NEO-4338

Change-Id: Ibef00cb774fc0564f95b3b6ba8c0934798a5957e
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-07 13:05:40 +02:00
Lukasz Jobczyk 70ac7ec80e Append proper flag to buffer object
Related-To: NEO-4338

Change-Id: I87604992fdfc20cd02773999f7c019344e8e3213
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-31 10:26:28 +02:00
Lukasz Jobczyk 21e16ff2c5 Add initial implementation of Linux direct submission
Change-Id: I9ee0434897bc3e980b240a8373190f0803e6c102
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-30 10:45:58 +02:00
Lukasz Jobczyk ff0add74e3 Add alternative residency model on Linux
Related-To: NEO-4732

Change-Id: I79e165d2b647af200ca314e1183ecf05903de644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-10 12:38:57 +02:00