Commit Graph

562 Commits

Author SHA1 Message Date
Maciej Plewka 830bcd6987 Scratch using bindless heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-12-11 09:38:44 +01:00
Mateusz Jablonski 714d4c61f9 Remove gmock from mock driver handle
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-11 09:25:28 +01:00
Jaime Arteaga d46bb59508 Migrate shared-allocations made resident with makeMemoryResident
Shared-allocations are currently migrated to GPU by the page-fault
manager when calling executeCommandLists. Allocations to migrate are
taken from the lists container. However, if a shared-allocation
has been made resident with zeContextMakeMemoryResident(), it is not
added to the list container, and hence it is not migrated to device.

So, add a container of resident allocations to the driver and migrate
them along with the other allocations.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-11 03:27:42 +01:00
Mateusz Hoppe d3f3730989 Refactor L0 core tests
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-12-09 17:51:15 +01:00
Mateusz Jablonski b6a20f9b23 Move mock_gmm and mock_gdi to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-09 13:45:57 +01:00
Jaime Arteaga beb3c5ed05 Add support for global work offset extension in L0
Add experimental extension to set global work offest in L0.
Current L0 specification does not have interface to export
experimental function symbols, so for now, applications need
to find the symbol like with dlsym on Linux.

A blackbox test showing functionality is also added.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-09 07:33:40 +01:00
Mateusz Jablonski 9183a9b638 Correct shared tests
create mock_gmm target if not exists

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-08 19:31:57 +01:00
Kacper Nowak 4804eca86d Refactoring Level Zero ULTs in order to use standalone spirv builtins
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2020-12-08 09:19:05 +01:00
Zbigniew Zdanowicz b4a901ac1c Fix aligned address for USM pointers
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-12-07 15:25:04 +01:00
Zbigniew Zdanowicz 19bea962d0 Use imported host pointers in the driver when available
Related-To: NEO-5126

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-12-03 13:52:14 +01:00
Mateusz Hoppe 8198a739c8 Refactor Sip Kernel usage
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-12-03 10:43:53 +01:00
Jaime Arteaga b668feaf0d Minor fixes to L0 blackbox tests
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-03 01:28:08 +01:00
Maciej Plewka 7a5c9d39b5 Encode dispatch kernel with global bindless heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-12-02 17:30:15 +01:00
Jaime Arteaga be90b9ff93 Add support for ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED
Add support for device and shared allocations that use the
ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED flag, whether the
kernel using the memory is stateless or statefull.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-02 10:43:45 +01:00
Jitendra Sharma 7883fa331a Add zello_copy black_box test
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-12-02 07:57:45 +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
Jaime Arteaga 00c92c8c14 Add L0 sample for IPC memory access between two different devices
In this example, two processes are launched on different devices
if more than one device is detected. Then, P2P capabilities are
queried through zeDeviceCanAccessPeer().

If P2P capabilities are available, then an IPC memory handle is
exchanged from server to client, and the client process running on
device 1 copies data from its buffer (allocated on device 1) to
the buffer exported by the server (allocated on device 0).

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-01 18:31:44 +01:00
Mateusz Hoppe f284bb9711 Enable level_zero Driver unit test
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-12-01 18:30:43 +01:00
macabral 720ba46548 Register kernel Elf for debugging purpose
Signed-off-by: macabral <matias.a.cabral@intel.com>
2020-12-01 17:16:14 +01:00
Jaime Arteaga 5f77fb9196 Add L0 sample for IPC memory
In this example, two processes are launched on the same device,
and an IPC memory handle is exchanged from server to client.

Then, the client process running copies data from its buffer
to the buffer exported by the server.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-01 05:28:29 +01:00
Zbigniew Zdanowicz 4602220e62 Add manager of imported host pointers
Related-To: NEO-5126

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-11-30 13:28:25 +01:00
Filip Hazubski 6c4b1f951c Do not force cl_khr_3d_image_writes extension when compiling kernels
Update usage of SUPPORTED_IMAGES flag and do not use images when disabled.
Use SUPPORTED_2_0 only on fully OCL 2.1 conformant platforms.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-27 17:20:46 +01:00
Mateusz Hoppe 8cac8d4b51 Fix possible device nullptr dereference
- abort will be called if device is nullptr

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-26 22:51:44 +01:00
Jaime Arteaga ba89a47aea Add L0 extension for extended module descriptor
Add ZE_experimental_module_program extension to L0 driver to support
multiple input modules being passed to zeModuleCreate().

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-26 22:44:22 +01:00
Jaime Arteaga 9d632b9c92 Use C++ numeric limits instead of C macro
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-25 12:01:07 +01:00
Jaime Arteaga 438ad860ab Zero-initialize memory allocation descriptors in L0 tests
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-25 07:58:36 +01:00
Mateusz Hoppe 8aacad1854 Create DebuggerL0 only when debugging is supported
Related-To: NEO-5239

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-23 18:28:45 +01:00
Kamil Diedrich 626b71e379 Disable Y16 layout
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2020-11-23 16:34:55 +01:00
Jaime Arteaga 4432547ff5 Add support for importing memory handles through zeMemAllocDevice
Add support for passing ze_external_memory_import_fd_t extended
structure to zeMemAllocDevice() to allocate a device memory
out of an fd handle.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-23 04:18:03 +01:00
Young Jin Yoon 3e69b2084c Add support for zeModuleGetProperties
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2020-11-21 23:14:30 +01:00
Maciej Plewka c80353587f Patch bindless offset
Related-To: NEO-4724

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-20 23:02:36 +01:00
Aravind Gopalakrishnan 223de6dd8c Revert "Use device allocation for events if host visibility not set"
This reverts commit 2c312bc70a.
Reverting due to failures in CI
2020-11-20 21:21:11 +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
Young Jin Yoon 504814445d Add driver handle tests
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2020-11-20 03:28:36 +01:00
Jaime Arteaga 97437830a7 Add support for exporting memory handles through getAllocProperties
Add support for passing ze_external_memory_export_fd_t extended
structure to zeMemGetAllocProperties() to retrieve an fd handle
for a device allocation.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-20 00:28:15 +01:00
Aravind Gopalakrishnan 2c312bc70a Use device allocation for events if host visibility not set
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2020-11-19 22:51:04 +01:00
Mateusz Hoppe 765b6cc2ed Initialize debugging in Os before creating debugger
Related-To: NEO-4516

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-19 16:31:31 +01:00
Vinod Tipparaju 240563099c Clean up code for nullptr device check during cmdlist create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-19 04:24:34 +01:00
Jaime Arteaga 905d59d7e3 Allow disabling statefull optimization in L0
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-18 22:33:05 +01:00
Maciej Plewka 28de4068c9 Read bindless offset from patch token
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-18 17:04:00 +01:00
Jaroslaw Chodor 451f1e7e0d Fixing residency of global const/var buffers
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2020-11-18 13:15:06 +01:00
Jaime Arteaga 3ee9c509c7 Fix typo in appendQueryKernelTimestamps
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-17 12:17:52 +01:00
Mateusz Hoppe b384bda99a Exclude internally used cmdLists and cmdQs from debugging
Related-To: NEO-5241

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-17 12:17:34 +01:00
Kamil Diedrich 403ebc843c Add support for media formats
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2020-11-17 10:36:29 +01:00
Jaime Arteaga 12598a82e5 Add support for external memory descriptors in device allocations
Add support for reading ze_external_memory_export_desc_t passed
to calls to zeMemAllocDevice. Current driver implementation
only supports handles as dma-buf, so add validation that only
that flag is being used.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-16 23:54:48 +01:00
Maciej Plewka 627febba61 Fix include path
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-16 14:36:20 +01:00
Mateusz Hoppe 0f42ef1ed7 Differentiate between users ISA and internal ISA allocation
Related-To: NEO-5240

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-16 13:16:30 +01:00
Maciej Plewka dad1dcebc3 Add L0 hw helper
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-15 23:58:12 +01:00
Jaime Arteaga b3700370a6 Remove dead-code functions for cache intermediate/last-level config
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-14 04:23:36 +01:00
Bartosz Dunajski bc1e772ec2 Set correct device bitfield for L0 command queue allocations
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-13 12:37:16 +01:00
Jaime Arteaga 3f6d1f5ee9 Correctly pass descriptors to L0 shared alloc function
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-11 07:04:54 +01:00
Jaime Arteaga 9473abc86a Correctly pass descriptors to L0 device and host alloc functions
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-10 21:31:07 +01:00
Bartosz Dunajski f7905128ca Dont inject commands between blits
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-10 16:57:13 +01:00
Maciej Plewka 3f7af19c8f Pass bindless options to compiler when bindless enabled
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-10 11:30:56 +01:00
Vinod Tipparaju f553e1e514 Return "OUT_OF_MEMORY" when gfx alloc on device fails during cmdqueue create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-10 06:26:02 +01:00
Jaime Arteaga 4c5ff75371 Add wait events to appendMemoryCopy
appendMemoryCopy has wait events since v1.0, so add the corresponding
support. Other copy operations were missing passing this
in the entry points, but already had support internally.

Also, rename some variables for consistency.

Also, remove signal event from appendMemoryCopyBlit since it is not
used.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-09 21:28:26 +01:00
Bartosz Dunajski 40d5cc71c9 Windows includes cleanup
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-09 14:35:38 +01:00
Jaime Arteaga 6ab9e9f1e0 Initial support for getExternalMemoryProperties and getExtensionProperties
Change-Id: Ib7c75dcae10bfb34dd2f703e481ecdd768370772
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-03 16:05:25 -08:00
Mateusz Jablonski 6c21ed1a28 Fix typo in BB test
Change-Id: Ib605b3f3e0ea3b9425ff17f6f81930c9993a53e5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-03 14:45:30 +01:00
Jaime Arteaga 87fd9b0708 Remove dead-code: OpenCL interop functions from v0.9
Change-Id: I4ef6eb3df8991d1ef0b6f07f81655496914cf396
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-03 14:22:24 +01:00
Vinod Tipparaju 8e6be83fcc Add cmdContainer ULTs - idOffset & numIdd reset, Gfx alloc failure
ULT required to cover IDOffset and numIdd values during reset.
ULT required to cover OUT_OF_MEM retrun during init.
Fix to check for valid gfx allocation inside heap helper & destructor

Change-Id: Ied9049b33dc0605d5f5f51c96114d5e96b26a4f7
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-03 13:22:44 +01:00
Spruit, Neil R 3e5f3fe055 Fixed AppendMemoryFill for alignment, multi kernel execution, memory overrun
- Fixed Memory Fill to use aligned allocations in Destination and Source
buffer kernel arguments to ensure proper alignment of memory in the
surface state.
- Fixed patternSize == 1 case where simd size is > the size being
written resulting in the inital kernel append with group count of 0 and
the remainder kernel being executed incorrectly.
- Fixed offset calculation in the remainder kernel to be based off of
the aligned allocation offset.
- Fixed memory overrun case where size < patternsize with the minimum
size being used in the kernel.

Change-Id: I39bd83b3a83ceb6df05d374238f85f7fdf0bd09a
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-11-02 16:49:12 -08:00
Mateusz Hoppe 4d2750161d Move OsAgnosticMemoryManager to shared
Resolves: NEO-5188
-move MockGraphicsAllocation to shared

Change-Id: I17e90af48183f003151fab075a46e40d7df3f160
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-02 21:02:53 +01:00
Jaroslaw Chodor d181a2e5a3 Fixing zeKernelGetProperties
Additionally, adding zell_world_jitc_ocloc BB test

Change-Id: If3b8c7e4bd4a789ec1b4f4de55ab21e91c1e7afa
2020-11-02 19:38:39 +01:00
Aravind Gopalakrishnan f9e0c04b54 Fix build error in ult
Change-Id: I44a66975df4d12e68b967f5dac28cffb8a145004
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2020-11-02 18:48:33 +01:00
Maciej Plewka 44af85b492 Return correct maxFillSize property
Related-To: NEO-5205

Change-Id: I62b7fec89451c640f70028b8d3ecb81f7655225d
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-02 16:10:01 +01:00
Mateusz Hoppe 17b2a29945 Remove incorrect UNRECOVERABLE_IF()
Change-Id: I5d56fcff8ca2449404c30b89d54f631b1da3db87
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-30 17:42:57 +01:00
Zbigniew Zdanowicz c678f3d9b0 Make DeviceBitfield argument constant
Related-To: NEO-5225

Change-Id: I14a5a4cc3394cd2b58a74bda183c734a0d17ac25
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-30 13:45:32 +01:00
Jitendra Sharma 17970ad5e7 Add sysman handles for subdevice only after subdevices are created
Move location of assigning sysman handles, such that sysman handle
will be assigned to device and then assign that sysman handle
to subdevices of that device.

Change-Id: Ia606954a866c491e45803b903c8419ee09b1a939
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-10-30 09:45:08 +01:00
Jaroslaw Chodor 3e4079574c Reduce number of devices is multidevice fixture
Change-Id: I3269d9938f5842da87d2c2effef9e54286b3c0b5
2020-10-29 21:11:58 +01:00
Jaroslaw Chodor 345e56a151 Zebin improvements
* cleaning-up per-thread buffer size calculations
* fixing default slm alignment to 16
* adding scratch space slots
* renaming slm addressing mode
* adding support for zeinfo version

Change-Id: I0450353788b8488a685976d7f1dd26a44360383c
2020-10-29 16:33:21 +01:00
Mateusz Hoppe d539a7f8e4 Adjust AllocationProperties for SBA tracking buffer
Change-Id: I00d9d40c854c45775254b017997c53f17559daa4
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-29 15:48:25 +01:00
Mateusz Hoppe ac3b65ba82 Refactor isDebuggerActive
- use it for SourceLevelDebugger only

Change-Id: I130219a13d6baa1f72c5b35295afd6efa4bf37fa
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-29 12:21:18 +01:00
Jaime Arteaga e3ef10d57e Update Level Zero BUILD.md file
This to reflect current name for basic sample, zello_world_gpu.
Also, modify this sample to return vendorId in hexadecimal format.

Change-Id: If073648e436b607125a9f4176db640d070f7f7f3
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-29 11:12:13 +01:00
Maciej Plewka 6bb4112d1e Create heap helper for bindless
Related-To: NEO-4724

Change-Id: I62527a3ad06dce5d886b6ecfebd3c9abc46f6741
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-29 10:51:38 +01:00
Zbigniew Zdanowicz 30a67618f8 Add DeviceBitfield argument to CSR constructor
Related-To: NEO-5225

Change-Id: I8cf0aef3ec16314cfb1a787852b6c20ce0f65955
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-28 17:10:31 +01:00
Mateusz Hoppe 65690ccb21 Fix indirect dispatch programming
Related-To: NEO-5195

Change-Id: I82975abaa6323d27d3718ce1619748f7d83b55b4
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-28 01:06:08 +01:00
Mateusz Hoppe 31118b0bd7 Link L0 blackbox tests with ze_intel_gpu
Change-Id: I875db7fbf48cf2467d327c7de1d489db1bddd79b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-27 14:37:45 +01:00
Jaime Arteaga 2fb48224a7 Remove unneeded variable
Change-Id: I1abc953063ed196bc045ef3084747a5328e7d443
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-27 09:30:20 +01:00
Mrozek, Michal f53a6acb7f Revert "Use device allocation for events if host visibility not set"
This reverts commit 27e2c32daa.

Change-Id: I8035aad67a1aa1ed37d95a9bcd4354a64d75ac07
2020-10-26 00:21:27 -07:00
Aravind Gopalakrishnan 27e2c32daa Use device allocation for events if host visibility not set
Change-Id: I244cfd617ae77a88dd2f4e5818d39ac7e658b216
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-10-23 22:28:45 +02:00
Jitendra Sharma bc3e09ca88 Don't delete Sysman handle during destructor of a Subdevice handle.
Change-Id: I6d17805c05ed556e51c908832d1150ffa17c28f0
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-10-23 17:44:19 +02:00
Plewka, Maciej 39a930e122 Revert "Enable copy engine in platforms which supports bcs"
This reverts commit b539b5a3ec.

Change-Id: I731b969cb82e4cfa6ec3f435c4b3178fc997c867
2020-10-23 17:11:00 +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
Jaime Arteaga b62a121f6f Move thread arbitration programming to command list
Thread arbitration policy can be programmed in the command list
instead of doing it in executeCommandList(), so move it there.

Related-to: NEO-5187

Change-Id: I518e19e939e0548d9d454738c6deb5e095154422
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-22 19:42:55 +02:00
Pranav Tendulkar 504dfe8a50 change TdDebugControl Register to enum
change TdDebugControl Register to enum for over-riding in another
platforms

Related-To: NEO-5203

Change-Id: I17b835a1d4cb43986cfd06741e6ec9a606feb5ae
Signed-off-by: Pranav Tendulkar <pranav.tendulkar@intel.com>
2020-10-22 19:42:15 +02:00
Jaime Arteaga 31291b1cf0 Add 4-digit zero alignment of device id in device name (2)
Unify names for OpenCL and L0

Related-To: NEO-4744

Change-Id: I5094f228f447ecbd942c25d6244abee593f3ffbf
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-22 15:53:20 +02:00
Bartosz Dunajski e3e8f1ddf2 Fix private surface size calculation
Change-Id: Iebbbdf2bfa76173c6181d8a26838114fabf6cbe1
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-22 13:54:13 +02:00
Kamil Diedrich 6fb1d5e417 Extend timestamp blackbox test
- add example of usage zeAppendQueryKernelTimestamps

Change-Id: I28b0d2da8b7c65407239b9feaccbeea5a60c79ab
2020-10-22 08:47:40 +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
Maciej Plewka b539b5a3ec Enable copy engine in platforms which supports bcs
Releated-To: NEO-4870

Change-Id: I3ef4c91c2bf210d5e6f59df0e8bd347aa867cbe5
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-21 15:27:15 +02:00
Bartosz Dunajski 1926ef8319 is_simt_thread token support
Change-Id: I8cee6ff26229f0f492ba0d1e5e61d6e46e0c2486
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-21 14:14:43 +02:00
Jitendra Sharma 6cce17e9a0 Add boiler plate support for sysman event API
Change-Id: I046620abb9943b2283215a5d2d85d71dcb8b98be
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-10-21 10:20:00 +05:30
Jaime Arteaga d0634d3090 Correct cache memory size returned
Change-Id: I1b0467b23acf8c72c42430100237d921f565c86c
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-20 18:06:07 +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
Michal Mrozek 1eefd3743f Optimize ExecuteCommandList.
- reuse vector instead of creating one per every function call.

Change-Id: I584bfbd7757e7b8851ae4970b740adf20659bcb1
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-10-19 10:49:44 +02:00
Jaime Arteaga bc855e4696 Add support for zeContextGetStatus()
Change-Id: Idf6d7bf462d74720f2e21abad7eaecb297388ff4
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-16 22:48:02 +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
Mateusz Hoppe 4623cb3f85 Create module debug area allocation
Related-To: NEO-4550

Change-Id: I1aa151134cb51a7d4f578de3b08cdd51aefc58f2
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-16 11:21:39 +02:00
Filip Hazubski 60bfcbd69f Move populateFactoryTable() to shared
Related-To: NEO-3964

Change-Id: I9da0395265dc164deda219d5390dd9540e04f9aa
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-16 11:07:38 +02:00
Jaime Arteaga 6614698997 Add multi-device support to events
Change-Id: I544d2409fa5ad7c2b64f7bfd081469e80d4f9c73
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-15 12:54:51 -07:00
Spruit, Neil R 53a99f6772 Fixed 2D/3D copy to use aligned pointers and offsets in kernel programming
- Fixed the 2d/3d copy to correctly pass the aligned allocation data to
the kernel programming of the buffer surface states otherwise unaligned
host ptrs cannot be used.

Change-Id: If62e9321d572a786999a5ead8303f11e2e9a3c8d
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-10-14 17:53:40 +00:00
Slawomir Milczarek eb8f5fa301 Get CL Device Name with device ID appended at the end
Related-To: NEO-4744

Change-Id: I8a9a791a634f9c0c444695036d96e3c959c90de0
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-10-13 14:00:33 +02:00
Jitendra Sharma 483447238a Add sysman handle for subdevices
Change-Id: I0f6986e7f5ed424ee2af759a5e70587289e1987b
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-10-12 20:23:29 +02:00
Bartosz Dunajski 27f9a95af2 Refactor: Common helper for Blit and CPU memory transfers
Change-Id: Icc61f82517e75e3066e441494af3bf9a7ffbbeef
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-12 18:29:42 +02:00
Kamil Diedrich 9e463ab45f Track all ssh in cmdList
Change-Id: Ibffb7b7b406e5e17d4ffb971fd0789557c879367
2020-10-12 12:12:12 +02:00
Maciej Plewka 2ebee73e4b Unify bindless debug flags
Change-Id: I6a9313722eed01b935707e93cad532adddcc78af
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-09 14:49:50 +02:00
Zbigniew Zdanowicz bf32740f97 Move BTI programming to shared code
Change-Id: Ie9d67c1d883f24cfec13ea1618d834d746c0d5be
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-09 13:56:44 +02:00
Bartosz Dunajski fb0651521d Linker: Fix incremental patching for local memory allocations
Change-Id: Ib85e4a2abc8a62477003853aa0c35f8107444f4e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-09 09:13:42 +02:00
Kamil Diedrich 960860e4cb Fix reservation size
Change-Id: I1cc3d4405b00365908c5915c9d2a1c512d572530
2020-10-08 10:57:08 +02:00
Kamil Diedrich 67e2853857 Add missing mockable_virtual in code
Change-Id: Ia8d041b68163a99cf4e9e399e825d39798425544
2020-10-07 14:25:04 +02:00
Kamil Diedrich ce7e293a99 Extend scratch implementation
Change-Id: I1bbc0c9be287b1411276b1e61a7ec1c8db238f3f
2020-10-07 11:39:04 +02:00
Maciej Plewka 4dc3827b8e Prepare object lib for precompiled builtins in bindless mode
Releated-To: NEO-5138

Change-Id: I18e564a9e32041fba5e887bc18d2195a1c4ddda8
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-06 16:57:11 +02:00
Andrzej Swierczynski bdf8c5fc90 Extend UnifiedMemoryProperties constructor to take device bitfield
Related-To: NEO-4722

Change-Id: Ice185f1792635922e9bb89cd7329e6501bc585e0
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-10-06 16:35:08 +02:00
Konstanty Misiak ff85c29e5c Do not recompile kernel if intermediate is empty
Related-To: NEO-5020

Change-Id: Ie71e1ac67a74309a90a899adb830a551922c5f35
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2020-10-06 13:47:25 +02:00
Maciej Dziuban 138f04bdcd Enable L1 cache for Tigerlake
Change-Id: I33513ed084f9d06ceca11315cac03f1b682db535
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-4832
2020-10-06 13:26:54 +02:00
Bill Jordan 909107cab6 Fix zesDeviceReset for Spec version 1.
This patch does the following:
- Fixes a bug in FsAccess::listDirectory that could return
ZE_RESULT_UNKNOWN_ERROR when no error has occurred.
- Fixes a bug in zesDeviceReset that would reset the device
if force was set to false, even if the device was in use.
- Fixes a bug in zesDeviceReset that would reset the device
if force was set to false without closing the file descriptor.
- Added a releaseResources method method to Device object.
This method does the same thing as the DeviceImp
destructor except it does not free the DeviceImp object
and it does not free the SysmanDeviceImp object.
- Added the releaseResources methods to Mock<Device> object.
- Moved the reset of the debugger out of DriverHandleImp
destructor and into DeviceImp releaseResources.
- Added a releaseEngine method to the EngineHandleContext. This
method frees all the Engine handles.
- On reset, I call the Devcie->releaseResources and
EngineHandleContext->releaseEngines before resetting the device.
- Added a -r (--reset) option to zello_sysman so I
could easily test resets.

With these patches, the L0 Sysman CTS for zesDeviceReset
both pass.

Change-Id: I31fad1b27bc5cc6befe31cd6f9319748e2683424
2020-10-05 19:55:14 +02:00
Michal Mrozek 5386f8be86 [L0] Optimize cache flush while waiting on events.
- do it only once

Change-Id: I0822b4f2acd9e281132447da65f563a635967905
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-10-05 13:12:56 +02:00
Jaroslaw Chodor 746cf7fd33 Reuse old build options if new ones are NULL
Change-Id: I435e7ec8554b0429dcf4f6f8d9d4fd80e70b68c6
2020-10-04 16:54:02 +02:00
Jaroslaw Chodor df2e76f526 Fixing residency of extern device functions
Change-Id: Icad696cbf6fb3fc0276f0d0d488bf92091525d9b
2020-10-02 12:27:59 +02:00
Jaime Arteaga 9f9bf38d64 Copy user buffers when not accepted by Kernel
When performing copy operations to or from buffers allocated by the
user, it could happen that the buffer address is not accepted by
kernel, even though the buffer is valid. In those ocassions, then
allocate a new graphics allocation and copy the user buffer.

Change-Id: I6b1b6f2ef5fea0acf32c868bc87eafe8746f9a79
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-02 10:03:18 +02:00
Zbigniew Zdanowicz 18ccd448f2 Unify programming of semaphore command
Change-Id: Iae9060935554df366d9687e9f16c3b5dce9155ee
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-01 16:26:33 +02:00
Zbigniew Zdanowicz 9b057cfdac Rename blackbox test to avoid collision with loader sample of the same name
Change-Id: Ia8b8f7bc0a80520f7cbbe4447eb651858c711ce9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-01 11:42:39 +02:00
Jaime Arteaga 3015b95752 Revert "Link zello samples to ze_loader"
This reverts commit d0e1d5cffb.

Change-Id: Id66620e50e770492e4fa99e734eaf2b39729210f
2020-09-29 10:14:36 -07:00
Vinod Tipparaju deb4cc2444 Reset cmdList - genericMediaStateClear not required during programSBA
This resolved regressions on Linux/ Windows for SYCL/L0 applications.

Change-Id: I26bd75a0473a5ceace1321d6b3f9613ce2cc5d9d
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-29 17:09:44 +02:00
Maciej Plewka e34c319ed7 Special address pool at External heap begining
Change-Id: I7da6e67010ff7a819aec25abea9213b6e43e348e
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-09-29 07:51:12 +02:00
Aravind Gopalakrishnan 79498dee93 Write global timestamp for copy engine
Change-Id: I6953ed787d7e21defcec07549c436c8b280be521
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-09-28 21:45:53 +02:00
Jaime Arteaga d0e1d5cffb Link zello samples to ze_loader
And make L0 Core samples to be built on Debug, as it is with
zello_sysman

Change-Id: Ie1e6b0a766237006916769e7347fcd2219058e2b
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-09-28 20:09:35 +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
Jim Snow 9f858c29a2 Enable internal image creation to return error codes
Change-Id: I20f28b57f3cd96245ce2dc1657ef2b40e63c0bc0
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2020-09-25 12:07:07 +02:00
Spruit, Neil R 7ea864cbd2 Update Kernel Buffer Argument given nullptr value assignment
- Given a nullptr Arg Buffer value, the argument value in cross thread
data must be updated to be a nullptr value especially given the argument
could have been set previously to a buffer that may not exist or should
not be used during this call to the kernel

Change-Id: Ie3a03ce25a4bb0b5e186863cc912a55863d0fb69
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-09-25 00:43:00 +02:00
Vinod Tipparaju 8d0df0c8a7 Reset cmdList - Fix to set genericMediaStateClear bit during programSBA
This resolves corruptions by flushing ID cache on HW

Change-Id: I56919360ac126cec67c5cbcf6380acfd72e0bcdb
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-24 13:42:04 +02:00
Aravind Gopalakrishnan 72c91c2f13 Do not program SBA for copy engine
Doing so causes hangs when reusing a copy command list

Change-Id: I1bd069942e9caee01636497f992dd35cbedcde1b
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-09-23 08:31:21 -07:00
Bartosz Dunajski bb788b4cc4 Copy ISA on CPU if BCS is not supported
Change-Id: I18b0bea70a0104dfa3f930ee360b9967f8d615be
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-23 16:47:02 +02:00
Bartosz Dunajski 2a69b1ed78 Select correct heap base address for ISA
Change-Id: I400f965faa4615519729756daa78350a46c46ff2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-23 14:21:22 +02:00
Kamil Diedrich 877a781696 Add engine type to commandList
Change-Id: I108fc027dd4698ebecb224c20b92f2b741698f3c
2020-09-23 09:46:53 +02:00
Zbigniew Zdanowicz 03c8bbf054 Use non-coherent buffers as kernel args in L0
Change-Id: I78f699779d65b694fa8de82c8e19dc07f7c176c3
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-23 07:16:13 +02:00
Bartosz Dunajski 9a29a75600 Use BCS to copy ISA if required - part 2
Change-Id: I8a06433640cb3ce6de8f1e1a367501572a6f77de
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-22 10:43:12 +02:00
Aravind Gopalakrishnan 2e912aff52 Add device capability for timestamp valid bits
Change-Id: Ib4a0f4ce80f0fc3649f366ceb458e8f506a97e34
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-09-21 18:15:54 +02:00
Mateusz Hoppe 7fdfa870fe Enhance module unit tests
Change-Id: I0952b0c4c3872a719afbc95646fcb79e84eca938
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-21 17:15:36 +02:00
Mateusz Jablonski 83ed9d9ee4 Minor cleanup around L0 Fence
remove duplicated functions

Change-Id: I815221835b87ab05317b2ac4436ea1321ccd7cab
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-20 21:18:35 +02:00
Mateusz Jablonski 69ea73cba0 Remove not used function
Change-Id: I4596394736a3d55a9ce449eee151dc84ffe29d72
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-18 13:33:07 +02:00
Lukasz Jobczyk b81a78d0e9 Evict USM cpu allocation after migration
Related-To: NEO-5007

Change-Id: I3c91af3ca22cb6233d530b252cc0c75d8fc2f8b5
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-18 13:01:45 +02:00
Vinod Tipparaju c7ec23c836 Minor fix to take care of uninitialized variables
Change-Id: I6172dbb5c92d072561f3b710e663794e9f35411a
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-17 19:46:37 +02:00
Mateusz Hoppe d363448515 Interfaces to register resources
Change-Id: Ic587aaa5a41e4e7648211cfa730a0aa5bbc2985a
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-17 12:39:16 +02:00
Vinod Tipparaju d2b218d82d Return ZE_RESULT_OUT_OF_MEMORY when alloc on device fails during cmdlist create
Change-Id: Ia03e7ac190598c56de044d3ad8216087b8da94f2
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-17 00:09:22 +05:30
Zbigniew Zdanowicz 394e626db9 Refactor programming of surface states
Related-To: NEO-5069

Change-Id: Id7442fcdcc8c7df57f00e8dc383c11869bf1a677
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-16 11:54:00 +02:00
Jitendra Sharma e904a1f0b4 Create Sysman Frequency API handles based on available subdevice/device
Change-Id: I2049515150004551c3f61647d20f1df7b375f587
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-09-15 18:12:14 +02:00