Commit Graph

531 Commits

Author SHA1 Message Date
Michal Mrozek ebb16c8b74 Add new debug key to control dependency resolution.
Currently only supported scenario is one in order queue.
Instead of resolving dependencies via semaphores, do this with pipe controls.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-12-09 17:26:38 +01:00
Filip Hazubski f137e927c5 Add EngineUsageHint debug variable
Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 16:06:23 +01:00
Rafal Maziejuk d5f3ac37bf Add KernelExecutionType argument to encodeAdditionalWalkerFields method
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2021-12-08 12:00:42 +01:00
Lukasz Jobczyk 0c49fa8203 Add missing cache flush for blocked path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-07 12:36:34 +01:00
Maciej Dziuban e3bb526067 Optimize timestamp packet dependencies
- Clear dependencies even if last engine changed
- Do no program semaphore waiting for blit when blit is submitted with gpgpu
- Track barrier timestamps to correctly synchronize blits in OOQ

Related-To: NEO-6444
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-12-07 11:47:50 +01:00
Filip Hazubski 2098b0c3fa Refactor Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.
Ensure correct device is used when verifying engine groups.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-06 18:27:31 +01:00
Lukasz Jobczyk 09d2ffb9ed Add missing cache flush
Resolves: NEO-6505

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-06 17:28:12 +01:00
Lukasz Jobczyk c455c0f9c6 Remove "Update Device::engineGroups"
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-03 10:16:40 +01:00
Lukasz Jobczyk 63116e4100 Use wait utils while waiting for timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-02 17:49:05 +01:00
Filip Hazubski 4461b8ea3f Refactor: Update Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-02 15:10:22 +01:00
Lukasz Jobczyk 36efe72e3e Add wait on timestamp mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-01 08:48:00 +01:00
Maciej Dziuban 457ef00abf Reuse graphics allocations in svmMemcpy
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-17 14:03:05 +01:00
Lukasz Jobczyk e8cc34d7b0 Add infrastructure to assign engine to command queue with round robin
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-15 13:13:40 +01:00
Maciej Plewka bdf5a1c39c Disable deviceEnqueue for BDW
Related-To: NEO-6378

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-11-15 12:49:59 +01:00
Maciej Dziuban b8a03cdea1 Remove getAnyBcs() method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-10 18:55:37 +01:00
Zbigniew Zdanowicz 61641bb70a Add implicit barriers capability to opencl
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-10 08:19:50 +01:00
Compute-Runtime-Validation 908a7721b2 Revert "Assign engine to command queue using round robin algorithm"
This reverts commit 2fff0f9059.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-10 07:25:44 +01:00
Lukasz Jobczyk 2fff0f9059 Assign engine to command queue using round robin algorithm
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-09 11:05:16 +01:00
Compute-Runtime-Validation 9058de77cc Revert "Assign engine to command queue using round robin algorithm"
This reverts commit 1c68ac1cbc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-08 16:36:18 +01:00
Maciej Dziuban 4c4b37f8d2 Implement BCS selection heuristic for OpenCL CommandQueue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-08 12:58:14 +01:00
Bartosz Dunajski 4bf4b170f1 Simplify WALKER_TYPE definition
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-04 17:09:06 +01:00
Lukasz Jobczyk 1c68ac1cbc Assign engine to command queue using round robin algorithm
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-03 17:16:54 +01:00
Maciej Dziuban a582f34c04 Reuse graphics allocations in readBufferRect/writeBufferRect
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-03 14:58:51 +01:00
Mateusz Jablonski 3a2b018eb6 Enable blitterOperationsSupported on DG1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-28 14:16:19 +02:00
Kamil Diedrich 5fdcb14d57 WSL fallback to staging buffer on blocking reads
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-10-28 03:34:58 +02:00
Maciej Dziuban f1b6b733f0 Reuse graphics allocation from mapped buffers in OpenCL
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-27 15:53:10 +02:00
Filip Hazubski 28b37aea72 Correct handling unique_ptr in functions
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-10-21 18:17:14 +02:00
Rafal Maziejuk 811d107ea9 Don't allow blit enqueue for images with 64KB tiling & 3D surface type
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6142
2021-10-19 16:03:48 +02:00
Zbigniew Zdanowicz 24ff191e61 Verify completion on all tiles
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-15 15:43:28 +02:00
Katarzyna Cencelewska 1c8a6d895a Use hwInfoConfig to check blitter support for image
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-10-13 17:51:00 +02:00
Maciej Dziuban 75b7adbe95 Skip transfer when CL_MAP_INVALIDATE_REGION is specified
Resolves: NEO-5490
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-13 17:13:33 +02:00
Michal Mrozek 4768be244b Cache post syncs.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-10-13 15:57:13 +02:00
Maciej Dziuban 19a6c9b1d3 Track separate task count for each BCS in OpenCL CommandQueue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-13 12:06:27 +02:00
Mateusz Jablonski b1df167632 Move enable_product.inl to shared
extract api agnostic validators to shared
remove not needed opencl includes from neo shared


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 22:02:16 +02:00
Maciej Dziuban cdb7287816 Fix direct submission initialization
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-12 11:51:48 +02:00
Mateusz Jablonski ec1e39bab8 Move OCL specific part of FileLogger to ClFileLogger
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-11 23:55:08 +02:00
Maciej Dziuban c910a58aa0 Store bcsEngine in an std::vector in OpenCL CommandQUeue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-07 21:55:21 +02:00
Rafal Maziejuk eccebfb49d Fix typo 2/n
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2021-10-07 21:42:49 +02:00
Zbigniew Zdanowicz 38915c6de9 Refactor performance counters interface
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-06 22:53:27 +02:00
Bartosz Dunajski 5560663b01 Revert "Disabled forced cross engine synchronization on single queue"
This reverts commit 4b5432967eb9f484a491323b6766efe14929c5e9.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-06 17:49:48 +02:00
Zbigniew Zdanowicz 0363749948 Disjoint local work size code from hw command generation
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-06 01:09:56 +02:00
Zbigniew Zdanowicz 0b64ecba3f Pass active partitions from dispatched kernel to context
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-05 14:57:47 +02:00
Konstanty Misiak 684b9e5f51 Fix missing submit time calculation
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-10-05 12:58:04 +02:00
Mateusz Jablonski 5e201f40be Prevent nullptr dereference in aub dump subcapture mode
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-04 14:23:19 +02:00
Zbigniew Zdanowicz 96fef37834 Move shared local work size code to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-04 14:04:28 +02:00
Bartosz Dunajski 50bd8b5f19 Disabled forced cross engine synchronization on single queue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-01 13:09:33 +02:00
Zbigniew Zdanowicz 317ef3776c Do not pass active partitions from dispatched kernel to context class
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-30 13:32:19 +02:00
Zbigniew Zdanowicz 25c71a6c13 Move kernel info to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-29 23:49:49 +02:00
Zbigniew Zdanowicz 6091861f3e Enable multi-tile task count post-sync writes
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-28 16:32:16 +02:00
Artur Harasimiuk a63b9b1273 move common files to shared/
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-09-27 11:10:20 +02:00
Maciej Dziuban c04f8e5e5b Pass copy engines to waitUntilComplete in OpenCL command queue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-24 14:11:44 +02:00
Zbigniew Zdanowicz 3b35ba504f Adapt command stream receiver to multiple active partitions
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-23 14:32:20 +02:00
Andrzej Koska bd9457262e Removing dependent commandQueue kernels
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-6212
2021-09-23 14:04:53 +02:00
Mateusz Jablonski 80b49e4a47 Create ClPreemptionHelper
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-23 10:15:58 +02:00
Maciej Dziuban 6d1e048327 Rename an overload of waitUntilComplete to waitForAllEngines
- Overloaded functions were quite different, they should have different names
- waitForLatestTaskCount function was redundant and hence its body was moved
inside waitForAllEngines

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-23 09:43:11 +02:00
Mateusz Jablonski d348526941 Simplify checkAndActivateAubSubCapture method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-22 20:23:56 +02:00
Mateusz Hoppe d4a4c35759 Zero-initialize debug surface
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-22 14:36:36 +02:00
Maciej Dziuban 04b6a604ec Refactor BCS in OpenCL CommandQueue
- use CopyEngineState class to hold task count and engine type
- pass engine type to updateBcsTaskCount

Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-22 10:39:46 +02:00
Maciej Dziuban 2707618fe3 Pass engine type to getBcsCommandStreamReceiver in OpenCL
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-21 16:27:07 +02:00
Maciej Dziuban a4b3dc29e4 Remove unnecessary method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-21 11:34:27 +02:00
Maciej Dziuban c7d86af500 Pass blitter CSR to event
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-15 12:49:22 +02:00
Maciej Dziuban 858727010f Add selectCsrForBuiltinOperation method to OpenCL CommandQueue
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-6057
2021-09-10 12:26:47 +02:00
Zbigniew Zdanowicz cd4f3c221a Synchronize switching command buffers for all partitions
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-08 12:12:23 +02:00
Kamil Kopryk a924b6a304 Code cleanup - avoid copy 5/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-09-08 08:59:55 +02:00
Maciej Dziuban 3e6b3cd780 Revert "Create single point for selecting engine for builtin ops"
This reverts commit 6513bd371a69cb821ea45c7c1964ea1f51dd75b2.

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-02 11:58:46 +02:00
Compute-Runtime-Validation 94cd243360 Revert "Correct CSR used for hostptr allocations in builtins"
This reverts commit 69ae9dc9c2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-09-02 04:45:06 +02:00
Bartosz Dunajski 0345d9f707 Improve queries with number of SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-01 14:01:57 +02:00
Maciej Dziuban 69ae9dc9c2 Correct CSR used for hostptr allocations in builtins
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-01 13:19:49 +02:00
Maciej Dziuban 33ac15dabe Pass blitter CSR in blocked queue scenarios
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-31 16:29:17 +02:00
Bartosz Dunajski 92000bd75b Improve Device getter to support EngineInstanced Device with single Engine
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-31 15:50:23 +02:00
Maciej Dziuban a03b5f8a95 Create single point for selecting engine for builtin ops
- selectCsrForBuiltinOperation selects proper CSR
- selected CSR is passed to dispatchBcsOrGpgpuEnqueue
- Notifications such as notifyEnqueueReadBuffer are now made on correct engine
- Temporary allocs for hostptrs are now created on gpgpuCsr

Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-31 13:29:17 +02:00
Maciej Dziuban 42524b6bef Limit usage of getBcsCommandStreamReceiver()
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-27 12:15:30 +02:00
Bartosz Dunajski cb91474b1a Improve getDevice methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-26 14:45:00 +02:00
Filip Hazubski 63f8c9d98b Add new EngineUsage
Simplify verifying EngineUsage in tryGetEngine function.
Remove unused getGpgpuEnginesCount function.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-23 17:41:13 +02:00
Maciej Dziuban 78fa40fac0 Add new parameter to functions
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-19 17:25:43 +02:00
Maciej Plewka 096373ffe0 Dont use gpu time in submited timestamp for non blocking enqueue
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-08-17 19:00:44 +02:00
Szymon Morek aa5e1780a2 Rename plus in filenames to and_later
Related-To: NEO-5920

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-17 11:26:27 +02:00
Konstanty Misiak ad19eda689 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-08-13 15:02:01 +02:00
Szymon Morek a85ae676e7 Rename plus in cmake macros to and_later
Related-To: NEO-5920

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-13 11:40:19 +02:00
Milczarek, Slawomir eb14d8458b Add helper function to enable stateless compression
Related-To: NEO-5107

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-08-02 14:34:33 +02:00
Kamil Kopryk 26e24fa872 Rename debug flag to EnableBlitterForEnqueueImageOperations
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-30 12:31:12 +02:00
Kamil Kopryk af4b1afdbd Add support for copy images by blitter OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-30 09:29:45 +02:00
Kamil Kopryk aed1da7495 Code cleanup - avoid copy 3/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-26 12:25:38 +02:00
Kamil Kopryk 88c6c9def8 Enable support for half_float images on BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-26 11:26:49 +02:00
Maciej Dziuban 9bca773b91 Remove command queue constructor
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-23 14:16:02 +02:00
Kamil Kopryk 30151a8f02 Cleanup images pitch programming OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-21 19:47:56 +02:00
Lukasz Jobczyk 9e50138829 Defer ULLS initialization
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-07-21 15:55:16 +02:00
Maciej Plewka dfe578754b Fix add pipe controll before marker profiling
Resolves: NEO-6065

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-07-20 16:23:57 +02:00
Kamil Kopryk ce92b42f63 Code cleanup - avoid copy 2/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-20 10:44:24 +02:00
Mateusz Jablonski 6f3c89decb Add mechanism to migrate multi root device memory
invalidate TLB cache if kernel requires migration


Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-07-19 19:49:22 +02:00
Kamil Kopryk 5a78fe3728 Code cleanup - avoid copy
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-19 18:01:36 +02:00
Kamil Kopryk d703cff0bd Code cleanup - don't copy string
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-19 17:54:42 +02:00
Kamil Kopryk f06938c3d0 Enable support for 1Darray images on BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-19 17:30:49 +02:00
Zbigniew Zdanowicz a869921c2a Remove RMW from gfx allocations
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-07-15 11:28:03 +02:00
Szymon Morek 399dc60bf8 Remove processing extra properties
Related-To: NEO-6024

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-07-08 16:18:06 +02:00
Maciej Dziuban 6f6ee90aa5 Extend copy engine selector data
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-06 12:28:55 +02:00
Michal Mrozek ad3855ceb3 Revert "Fix event profiling for marker commands"
This reverts commit 5f0167b477993f3ebc804c53a110bc432638615b.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-07-01 08:01:33 +02:00
Konstanty Misiak 1df1094465 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-06-30 14:56:39 +02:00
Kamil Kopryk 8582c9cbc7 Don't use 1Darrayed images with BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-28 15:04:03 +02:00
Bartosz Dunajski 5fbf084c41 Dont access PrintfHandler after move operation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-28 13:57:42 +02:00
Kamil Kopryk 05cff2501a Remove not needed check IsNV12
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-28 11:39:07 +02:00
Bartosz Dunajski 96d14967ac Partial support for XE_HP_SDV
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-24 18:35:54 +02:00
Bartosz Dunajski e1f42c2ae1 Remove TSP atomic dependency tracking
This reverts commit d17668f023bee409ee68e766bbc7d5f16ce8d52b.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-23 16:59:41 +02:00
Bartosz Dunajski c4a936d864 Track TSP OOQ ownership
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-23 15:59:47 +02:00
Bartosz Dunajski 82f1816aec Keep implicit TSP dependencies ownership after enqueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-22 13:37:20 +02:00
Bartosz Dunajski 2e97aeccfd Revert TSP changes
This commit reverts:
a1d2bdc76666059653c79fe39a26113ce47c632a,
71a115129c1698ff15305fd0ea3828cba861be47,
e1a9087a466bfba54d84a64247e6596092034a91.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-21 12:44:12 +02:00
Bartosz Dunajski 8523747f91 Clear Event dependencies for Subcapture
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-18 12:58:49 +02:00
Mateusz Jablonski e027178c37 Correct semaphore wait programming for cross device dependencies
when event is blocked by blocked user event then program semaphore wait during
unblocking user event

Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-06-18 09:06:53 +02:00
Bartosz Dunajski 5af793ddc6 Remove TSP implicit dependency tracking logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-16 08:47:00 +02:00
Kamil Kopryk b2918b5115 Correct enqueueCopyImage params
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-15 13:24:57 +02:00
Bartosz Dunajski 06fd238a95 Keep old queue TimestampPacket nodes ownership until completed
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 08:33:00 +02:00
Maciej Plewka 9fe2dddcd3 Estimate command stream size for marker profiling
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-14 21:36:07 +02:00
Kamil Kopryk 9c181df6e6 Don't use half_float images with bcs OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-14 16:30:17 +02:00
Maciej Plewka 10cff46c22 Fix make resident event alloc for marker dispatch
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-14 10:44:27 +02:00
Krystian Chmielewski 6fad8b3100 Refactor ocl kernel
Removed dispatch traits pointers and added getters. Removed uneeded
tests.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-06-11 16:52:09 +02:00
Kamil Kopryk a9fe74c98d Don't use BCS for NV12 images
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-10 13:51:28 +02:00
Kamil Kopryk 6ea3f57849 Don't use bcs for mipmapped images OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-10 12:48:47 +02:00
Piotr Zdunowski 7cac94b597 Fix profiling for marker commands.
Resolves: NEO-4867

Signed-off-by: Piotr Zdunowski <piotr.zdunowski@intel.com>
2021-05-27 12:15:07 +02:00
Michal Mrozek 6bd6182759 Improve helper.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-26 11:42:46 +02:00
Michal Mrozek 128c994821 improve lws algorithm
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-25 15:55:19 +02:00
Michal Mrozek 270cae33fd Change LWS selection policy for short kernels.
-prefer small LWS.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-20 15:23:06 +02:00
lgotszal 3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Matias Cabral 2830073139 Save State Save Area Header in OCL
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2021-05-13 17:58:14 +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
Krystian Chmielewski ef71915c71 Remove KernelArgInfo and use KernelDescriptor's args instead
Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-04-23 15:12:09 +02:00
Kamil Kopryk 7a5e0e13a5 Add isBlitterForImagesSupported helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-04-22 16:10:20 +02:00
Krzysztof Gibala 2b12e9b42f Program MI_SEMAPHORE_WAIT only on multi device setup
Fill and program CsrDependenciesForForTaskCountContainer
only on multi device environment

Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-04-21 16:38:06 +02:00
Adam Cetnerowski 33f05a25cd Fix typo
Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2021-04-21 16:25:17 +02:00
Maciej Dziuban 5318ff1872 Defer OsContext initialization
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5610
2021-04-19 11:54:34 +02:00
Krzysztof Gibala b01b8ba5ac Use MI_SEMAPHORE_WAIT command for event synchronization
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-04-19 11:34:52 +02:00
Mateusz Jablonski 722f693e0f Set Context in program when using builtins
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-04-06 17:41:19 +02:00
Mateusz Jablonski 8215395401 Simplify Context method
return if context has multiple sub devices related to a given root device

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-30 10:22:15 +02:00
Krzysztof Gibala 7bfe26a08d Remove ensureMemoryOnDevice function
Remove:
- ensureMemoryOnDevice
- lastUsedRootDeviceIndex
- requiredRootDeviceIndex
- getMigrateableMultiGraphicsAllocation

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-03-29 11:41:07 +02:00
Bartosz Dunajski e04c5b361a Remove Kernel arg from HardwareCommandsHelper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-27 11:23:53 +01:00
Bartosz Dunajski 5a50ad098c Refactor TagAllocator
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-26 15:16:56 +01:00
Bartosz Dunajski ee44979bb5 Fix blit enqueue support check
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-23 15:29:12 +01:00
Mateusz Jablonski 7098e9c5f2 Store single KernelInfo in Kernel
remove root device index from Kernel's methods

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 21:30:03 +01:00
Filip Hazubski 8d55bfe21d Implement zeCommandListAppendLaunchCooperativeKernel
Resolves: NEO-4725


Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-22 19:26:41 +01:00
Mateusz Jablonski 35d2325361 Remove KernelDeviceInfo struct
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 14:25:23 +01:00
Maciej Dziuban 2a1a63a823 Ensure valid engine inside OpenCL command queue
Related-To: NEO-5610
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-19 13:47:22 +01:00
Maciej Dziuban 3f5b9df122 Pass EngineUsage to getEngine
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5610
2021-03-16 16:31:44 +01:00
Igor Venevtsev 52e118fe49 Add extra parameters to Buffer::setSurfaceState() method
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-03-16 10:17:59 +01:00
Krystian Chmielewski 41f3bd00ff Remove PatchTokens from KernelInfo
Use KernelDescriptor instead of patchTokens stored in KernelInfo's
patchInfo.
Removed: SPatchMediaInterfaceDescriptorLoad, SPatchAllocateLocalSurface,
SPatchMediaVFEState(slot 0), SPatchMediaVFEState(slot 1),
SPatchInterfaceDescriptorData, SPatchSamplerStateArray,
SPatchBindingTableState, SPatchDataParameterBuffer,
SPatchDataParameterStream, SPatchThreadPayload,
SPatchKernelAttributesInfo, SPatchAllocateStatelessPrivateSurface,
SPatchAllocateSyncBuffer,
SPatchAllocateStatelessConstantMemorySurfaceWithInitialization,
SPatchAllocateStatelessGlobalMemorySurfaceWithInitialization,
SPatchAllocateSystemThreadSurface.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-03-09 17:09:13 +01:00
Maciej Dziuban 03631ce22b Remove unused paths
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-09 13:20:11 +01:00
Mateusz Jablonski 056300f01f Pass internal kernel object to enqueueKernel method
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-08 19:14:08 +01:00
Bartosz Dunajski 8b89fb8541 Capability to exclude Engine on SubDevice
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-08 11:32:13 +01:00
Michal Mrozek 0cd03220df Optimize Fill buffer calls.
- reuse pattern allocations for subsequent calls.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-03-05 15:09:19 +01:00
Maciej Dziuban 1350aa52fb Pass DispatchInfo to estimation functions
Related-To: NEO-5546

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-05 12:47:55 +01:00
Bartosz Dunajski 9c164a01a6 AuxTranslationMode fallback path
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-02 12:09:04 +01:00
Mateusz Jablonski a33d74bb79 Disallow CPU buffer read/write operation if CPU access is disallowed
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-02 11:35:08 +01:00
Mateusz Jablonski da5f7b9216 Add debug keys to scratch register write after walker
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-02-26 16:13:57 +01:00
Bartosz Dunajski 184ec7d07d Dont allocate HwTimeStamp when TimestampPacket is used
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-02-26 11:18:41 +01:00
Krzysztof Gibala d8a1bb599e Extend event synchronization mechanism for multi device concept
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-02-16 11:27:47 +01:00
Maciej Dziuban 6eebf82ec5 Add HW-specific preference for usage of blitter in local->local transfers
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Resolves: NEO-5549
2021-02-15 12:47:54 +01:00
Maciej Dziuban 98ff3cc0a9 Do not use blitter for local->local SVM and USM copies
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5549
2021-02-11 16:24:57 +01:00
Maciej Dziuban a68a4aa74e OpenCL Queue Families extension 17/n
Return index of default queue (created without using the extension)

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-02-11 16:01:29 +01:00
Maciej Dziuban 2cd6809d1e Do not use blitter for clEnqueueCopyBuffer
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-02-11 12:42:43 +01:00
Igor Venevtsev bb72beac6b Add extra parameters to programStateBaseAddress()
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-01-28 16:03:17 +01:00
Maciej Dziuban 160e5ec112 OpenCL Queue Families extension 12/n
Fix engine selection for copy engines

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Relate-To: NEO-5120
2021-01-27 21:27:43 +01:00
Andrzej Koska 17bbe80271 Enable sharedMemory path for write buffer
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-5360
2021-01-26 18:48:02 +01:00
Maciej Dziuban 681c6eeb38 OpenCL Queue Families extension 11/n
Check for support of cross queue events in enqueue calls

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-01-26 14:02:54 +01:00
Maciej Dziuban edf339fdf1 Fix checks for image mip level in OpenCL builtins
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-01-22 10:24:39 +01:00
Andrzej Koska 670013e88a Enabling USM path for write buffer
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-5360
2021-01-15 12:01:43 +01:00
Kamil Kopryk d1d81c1f48 Revert "Enable blitter support for read/write images OpenCL"
This reverts commit 933b483b961351cbdb0a50d52bd61c76ae03443b.
2021-01-11 14:21:11 +01:00
Kamil Kopryk 38577bed6b Enable blitter support for read/write images OpenCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-01-08 13:32:36 +01:00
Slawomir Milczarek 55f3c8f134 Add resolve capability for compressed USM device allocations
Related-To: NEO-5107

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-08 12:16:26 +01:00
Krzysztof Gibala 6faf61e4f1 Enable memory transfer in enqueueFillImage
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-30 14:28:25 +01:00
Krzysztof Gibala 801affde66 Enable memory transfer in enqueueFillBuffer
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-30 14:19:57 +01:00
Lukasz Jobczyk 239f37da64 Introduce kernel tunning under debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-12-30 14:05:55 +01:00
Krzysztof Gibala 2e346b58cd Enable memory transfer in enqueueMigrateMemObjects
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-29 12:03:22 +01:00
Slawomir Milczarek 6986d5de0b Add helper functions for memory compression to CSR
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-21 17:43:03 +01:00
Krystian Chmielewski 4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +01:00
Slawomir Milczarek 847bad4763 Add function to check if kernel has direct stateless access to host memory
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-16 10:06:17 +01:00
Pawel Wilma 9bd0c69913 Add ClearColor allocation support for blitter
Related-To: NEO-5175

Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-12-14 18:22:05 +01:00
Maciej Dziuban 384e47f438 OpenCL Queue Families extension 7/n
Update enum values to official ones
Delete redundant CL_DEVICE_NUM_QUEUE_FAMILIES_INTEL
Rename CL_QUEUE_CAPABILITY_ALL_INTEL to CL_QUEUE_DEFAULT_CAPABILITIES_INTEL
Add capabilities for cross queue events and single queue events
Add capabilities for buffer to image and image to buffer transfers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-12-14 16:19:11 +01:00
Krzysztof Gibala e789375cd5 Enable memory transfer in enqueueCopyBufferToImage
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-14 14:57:24 +01:00
Krzysztof Gibala 58633d726f Enable memory transfer in enqueueCopyImageToBuffer
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-14 12:23:44 +01:00
Krzysztof Gibala 4f54ea5c87 Enable memory transfer between images
Unlock flow for multi device setup in:
- enqueueCopyImage

Update cleanAllGraphicsAllocations test

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-11 16:15:31 +01:00
Mateusz Jablonski aa1fc85257 Store device specific kernel members per root device
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-10 17:57:39 +01:00
Krzysztof Gibala 8d2cfd87ae Create graphicsAllocation for all devices in image
Unlock flow for multi device setup in:
- enqueueReadImage
- enqueueWriteImage

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-10 17:40:03 +01:00
Filip Hazubski f4c495cfff Enable zero size enqueues for all devices
Related-To: NEO-5331

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-09 19:12:00 +01:00
Mateusz Jablonski 350ec9f16b Pass root device index to get proper kernel info
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-09 19:11:43 +01:00
Mateusz Jablonski c8d1e082dd Update getKernelInfo method
add root device index parameter to return proper kernel info

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-08 09:14:44 +01:00
Kamil Diedrich 0ecb1b804f combine timestamps implementation
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2020-12-06 17:19:36 +01:00
Jobczyk, Lukasz 343fd602fa Add method to submit kernel on single subdevice
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-12-01 22:15:05 +01:00
Maciej Dziuban 2293fc0cb5 OpenCL Queue Families extension 6/n
Add queue family and index querying from existing queue

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-12-01 09:03:21 +01:00
Krzysztof Gibala 84f3d44968 Enable memory transfer between buffers rect
Unlock flow for multi device setup in:
- enqueueCopyBufferRect
- enqueueReadBufferRect
- enqueueWriteBufferRect

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-11-30 10:35:34 +01:00
Maciej Dziuban ef170607c8 OpenCL Queue Families extension 3/n
Check queue capabilities in enqueue calls for buffers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-11-25 14:02:10 +01:00
Mateusz Jablonski b85a8ace68 Pass root device index to Kernel's methods
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-25 12:49:15 +01:00
Bartosz Dunajski bf61dcc849 setupTimestampPacket method cleanup
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-24 18:53:14 +01:00
Mateusz Jablonski 7ec69c33f9 Store SSH per root device in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-24 17:57:31 +01:00
Bartosz Dunajski ae3ad3e8bc Add method to adjust TimestampPacket
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-24 17:35:22 +01:00
Maciej Dziuban 14f92cc7a1 OpenCL Queue Families extension 1/n
Basic implementation, some things will be tweaked in future commits

Related-To: NEO-5120
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-24 11:48:18 +01:00
Mateusz Jablonski a67e829fa8 Store crossThreadData per root device in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-20 20:49:50 +01:00
Sebastian Luzynski 556b6cd457 Add concurrent kernel execution type
Related-To: NEO-4940
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-11-20 16:12:42 +01:00
Maciej Plewka 757e8d746c Don't return value from computeWorkgroupSizeND
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-19 18:29:40 +01:00
Krzysztof Gibala f2a73ef0f5 Enable memory transfer between buffers in enqueueCopyBuffer
Unlock enqueueCopyBuffer flow, for multi device setup

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-11-19 14:03:44 +01:00
Mateusz Jablonski 2003fe46a6 Don't store Context in Kernel
reuse Context from Program

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-19 13:38:18 +01:00
Mateusz Jablonski 97119f5f3e Store ClDevice in DispatchInfo
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-17 10:29:20 +01:00
Maciej Dziuban f13db6adad Rename method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-15 23:58:32 +01:00
Mateusz Jablonski bd432fa94c Don't use device from kernel if possible [1/n]
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-13 17:41:18 +01:00
Kamil Kopryk 60c9bbea22 Disable blitter support for images
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-11-06 13:09:24 +01:00
Krzysztof Gibala 3d9a180c12 Implement local memory path for all devices in buffer
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-11-05 15:01:58 +01:00
Slawomir Milczarek b7d5427f01 CPU access disallowed mode and blitter amendments
Related-To: NEO-4876

Change-Id: I7d6de1a0530e9c4f8bcf302824242033d3ca724a
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-11-03 13:04:28 +01:00
Krystian Chmielewski 0d35af9327 KernelInfo refactor
Using kernelDescriptor.kernelAttributes.requiredWorkgroupSize

Change-Id: I2533c6f1d4a9b2cf5c141ba7fdd516d4c9d88502
2020-10-30 14:05:46 +01:00
Kamil Kopryk 523887019b Rename debug flag to EnableBlitterForEnqueueOperations
Change-Id: I9ae8dfc1e86a837c600ee9099e936fc4a64c80b1
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-10-29 12:00:09 +01:00
Kamil Kopryk bc6ba0688e Limit usage of blitter for images
Change-Id: I15223ef4ebdbfef67b05647188bdd92d35a9dcad
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2020-10-29 11:53:21 +01:00
Kamil Kopryk f84cd9f424 Small refactor getCommandStreamReceiver
Related-To: NEO-4692
Change-Id: Ie8c36982d5bd626735d1f8e6d04084bce67738e5
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-10-27 15:52:18 +01:00
Michal Mrozek b039f5cc76 Optimize profiling calls.
- do not call KMD query for submitted timestamp, we only need CPU
timestamp here.

Change-Id: Id60c1e367d9430d893fb3a253ffc058f45fc9609
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-10-23 17:36:14 +02:00
Filip Hazubski c3b8727e97 Remove opencl includes from HwHelper
Resolves: NEO-3964

Change-Id: Ie891ba6a205a89b41ca2cce0fa386dc4c93a0aaa
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-23 11:10:52 +02:00
Mateusz Jablonski a5a5c94097 Correct clCreateProgramWithBuiltInKernels
create program for all provided devices
move OCL specific code from shared to opencl

Related-To: NEO-5001
Change-Id: Ic352b4e907ae75426634ae4b3c7048edecaf83e7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-22 19:26:34 +02:00
Kamil Kopryk 914ace6165 Add blitter support for read/write images OpenCL
Change-Id: I5a74bcbdc5a5d7c20f55ee3c59839077649778c4
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2020-10-21 16:55:38 +02:00
Krystian Chmielewski 9f08a60a20 KernelInfo Refactor
Using kernelDescriptor.kernelMetadata.kernelName instead of
kernelInfo.name

Change-Id: I11f5721d8072a3beccb573cec4bea56cf14cf0f9
2020-10-20 13:18:09 +02:00
Kamil Kopryk 8e44038f9a Revert "Add blitter support for read/write image OpenCL"
This reverts commit cc6d6968dd.

Change-Id: I2696f05c5d1e3959f60239ca49483b00ad1b36ec
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-10-16 15:59:58 +02:00
Kamil Kopryk cc6d6968dd Add blitter support for read/write image OpenCL
Change-Id: I5d8bf0590899751f1f562fd55e44b0ed36ca6110
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2020-10-16 11:59:03 +02:00
Pawel Wilma 0c3d430f50 W/A for disabling RCC RHWO for compressed media surfaces on gen12lp
Whenever media compressed surface is used, the RCC Read-Hit-Write optimization
disable bit (14) has to be set in Common Slice Chicken1 register (7010h).

Related-To: NEO-4982

Change-Id: I71b91b52692252459da05b737838eb4854575974
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-10-13 11:52:15 +02:00
Zbigniew Zdanowicz 4e3679b8ae Move local ids generation code to shared directory
Change-Id: I5b0486ceae8d67d0c1d1be56a756c102226d7e2a
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-08 15:02:36 +02:00
Maciej Dziuban 8fcd51c2c8 Do not obtain command stream if it will not be needed
Change-Id: Id7fa1c6b78e71a085084f8fcb66a7b8e873ad2bc
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-10-08 12:24:03 +02:00
Zbigniew Zdanowicz 47f5867e8f Move common code to shared directory
Change-Id: I5f604de01e06d35cc1e045fffdd4a26d88ffca8c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-07 10:55:39 +02:00
Zbigniew Zdanowicz 28ef5fa709 Move pipecontrol w/a estimation to dedicated class
Change-Id: I8ceaa2dff94dd7148daf921568fd30f098e5dae4
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-06 15:02:37 +02:00
Zbigniew Zdanowicz ce1b669cda Use single class to program load register command
Change-Id: I90fe084409588cb32f0ac43a3db5082047d7a68b
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-06 13:45:35 +02:00
Maciej Dziuban 51dcccad76 Create timestamp packet container for events if command queue created it
Related-To: NEO-5120
Change-Id: I00505647343da1876b25290b95a2009b5e4041d6
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-10-02 12:11:38 +02:00
Zbigniew Zdanowicz a0531c17b4 Remove RMW pattern on gfx memory by using dedicated methods
Change-Id: Iedf7c1d15b3ee5b1aa713b5817005cb801c01956
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-01 09:47:15 +02:00
Bartosz Dunajski 44a6d70ced Dont use Packets without profiling data to calculate kernel duration
Change-Id: I710348835f8884a3b244502f53ff4e4980441654
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-29 17:09:01 +02:00
Bartosz Dunajski 28acc2c8f6 Remove lowPriorityEngineType member
Change-Id: I39908addf1c3a12f7807479132d0a6d5a4398d7b
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-28 17:02:56 +02:00
Maciej Dziuban 83252e7306 Add isCopyOnly field
Change-Id: Ia056af66af437c22738fd15abff12e1ad226509a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-09-28 12:27:50 +02:00
Bartosz Dunajski 55bd544402 Lazy evaluate arguments of printDebugStrings(...) function
Change-Id: Ie44e109fd9235c5df32fb90b9e6fc6058e558a99
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-25 18:38:58 +02:00
Sebastian Luzynski d24850cff3 Alter API with additional kernel exec info.
Related-To: NEO-4875
Change-Id: I10a5e3bfc32be520c3554c992dc36591fc1ff599
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-09-25 13:00:24 +02:00
Bartosz Dunajski f92f01e190 Enhance GPU breakpoint capabilities
Change-Id: Id28afb7ab584eeb5063c7311fed41d7a31edbec7
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-24 16:03:19 +02:00
Lukasz Jobczyk 1185205673 Enable batched direct submission
Related-To: NEO-5112

Change-Id: I191dee8e8466232a1350e0b13974c3417366743f
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-23 15:27:57 +02:00
Bartosz Dunajski 5b31b31734 Remove low priority and internal engine index variables
Change-Id: I984dbcedd5456cfdee284f4d2eda1371ba77f0d0
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-21 16:44:14 +02:00
Konstanty Misiak dcc5316d88 Fix debug surface allocation in multi-queue scenarios
Related-To: NEO-5078

Change-Id: Ife48e703f348340cd8f89dd76f8affce0641adac
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2020-09-16 13:12:17 +02:00
Kamil Diedrich 57269b97a3 Use global timestamps instead of local
Change-Id: Ie39b242915a55aef60fcf7164199647299c91a21
2020-09-03 16:39:36 +02:00
Lukasz Jobczyk 9158dec82d Do not override immediate dispatch while direct submission enabled
Related-To: NEO-5007

Change-Id: I32330a275f78e825c847b0e380ce426f0c7412f5
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-03 11:53:38 +02:00
Bartosz Dunajski e079d94869 Move builtin kernel logic out of blit enqueue path
Change-Id: I857ac7d1304f8b228bf558904ee929aa114ab003
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-01 13:42:43 +02:00
Slawomir Milczarek c7e92738c6 AUB allocation dumps on clEnqueueSVMMemcpy only
Related-To: NEO-4763

Change-Id: I2efc87ec4c43b2e1d010cc5d9608599b8ab34394
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-08-31 17:34:44 +02:00
Bartosz Dunajski 0c02ab6bc0 Move blit enqueue out of enqueueCommon [5/n]
Change-Id: Ib63a4e9e60c7539a242034f36953c1d322fc9bee
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-31 10:27:06 +02:00
Bartosz Dunajski ffc218d8a2 Fix event submit time for enqueue without kernel
Change-Id: Ibb9ee7312a2c9618d91ebca03b0e0eb98cc551ee
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 19:13:24 +02:00
Bartosz Dunajski e499f3130e Move blit enqueue out of enqueueCommon [4/n].
Change-Id: Ib185a6f7a94f3c3e14f108ebadd82335a72cde49
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 18:59:15 +02:00
Bartosz Dunajski cf8f0c6437 Move blit enqueue out of enqueueCommon [2/n]
Unify events path

Change-Id: I5b1aa5277d48ebcb6efcdb91c67b921518e32783
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 13:18:50 +02:00
Bartosz Dunajski c9a3edd539 Move blit enqueue out of enqueueCommon [3/n]
Change-Id: Iaee5052d9b56efce6e4524dd0e0d0455de05c929
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 13:00:18 +02:00
Bartosz Dunajski 9cefc84edc Unify waiting method
Change-Id: I8e17d097e00f7d14c7243cc7989dd333807d5b44
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-26 17:46:30 +02:00
Bartosz Dunajski 90d67f3df2 Move blit enqueue out of enqueueCommon [1/n]
Change-Id: I130a1015ec744c189ddd42af06202bf11b782a6d
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-25 17:10:45 +02:00
Bartosz Dunajski c672c2cd91 Dont reload GRF config if not applicable
Change-Id: I37388b3d43251d930136fde154b7861072a5abec
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-21 14:29:13 +02:00
Filip Hazubski 49f450e094 Correct enqueueSVMMigrateMem function
Change-Id: Ice49ac7434038ec3667084414fa23a4367242e9c
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-21 11:34:52 +02:00
Jaime Arteaga d2677bed2e Fix computation of workgroup sizes for large sizes (2)
Change-Id: I31bb300a2cfae2df9806ae812bd2acbc62f88191
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-08-20 17:19:30 +02:00
Bartosz Dunajski 6fcb9583be Dont reload L3CachingSettings if not applicable
Change-Id: I352e3781822894680c32f3274f22712ac00d74bc
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-20 12:11:00 +02:00
Jaime Arteaga 4e2c9a2941 Fix computation of workgroup sizes for large sizes
Change-Id: I5b4895aafc8fa1db5960c2e64e801a3db80c0c51
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-08-19 17:21:16 +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
Bartosz Dunajski b6cad3c206 Add estimation for cache flush commands after walker
Change-Id: I91e645be228153e99a511efd6edc4cc1f5032db6
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-19 13:09:29 +02:00