Commit Graph

326 Commits

Author SHA1 Message Date
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
Krzysztof Gibala cb5ab704b6 Destroy all GraphicsAllocation in ~MemObj
Related-To: NEO-4672
Change-Id: I4fa09ae7753ed258f489b9e9f328d0a455e7d9b6
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-08-13 12:18:35 +02:00
Konstanty Misiak 7166dfdb05 Fix debugSurface allocation for non debug kernels
Change-Id: I253968f7ea617bc68275bec0d6279f1fcf948967
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2020-08-07 16:01:31 +02:00
Bartosz Dunajski 514dd34a2f Add auxToNonAux timestamps to Event to keep full profiling data
Change-Id: I00d8fd7bf9b6b5e365eb2c7e350fdde688c5c88f
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-31 16:07:14 +02:00
Mateusz Hoppe 5de52badbe Setup surface state for debugSurface at offset zero
Related-To: NEO-4767

Change-Id: I5be24712795f18865037ea5d3b42604579027969
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-23 16:26:23 +02:00
Krzysztof Gibala e9c42e54b2 Connect mem_obj with MultiGraphicsAllocation
Related-To: NEO-4672
Change-Id: I188db44b4cb0ac6245bd7c864c69b8f1c0084dc4
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-07-22 14:09:27 +02:00