Commit Graph

148 Commits

Author SHA1 Message Date
Filip Hazubski
d889c599b2 Correct callback API functions
Add implementation to clSetProgramReleaseCallback and
clSetContextDestructorCallback functions.

Resolves: NEO-4962, NEO-5051

Change-Id: Iad6fffc663665a3cf16b96aa90065140cf8c5477
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-09-08 14:08:50 +02:00
Mateusz Jablonski
40d487fa90 Add global destructor of platforms
Change-Id: I7f0c9a9a13cae5cbf831e0d4e410c78c001a75d1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-01 17:26:17 +02:00
Filip Hazubski
c5866944f4 Add clSetContextDestructorCallback API function
Change-Id: If0f06ffcbd6236ef7ffbc78347e67897177eb121
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-10 19:17:00 +02:00
Filip Hazubski
fe5bda3ed1 Correct API functions to unload compiler
Correct return value of clUnloadCompiler and clUnloadPlatformCompiler
API calls.

Change-Id: I352b271e9f97be88cf29c4a097aa2e664ba3206a
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-10 17:18:26 +02:00
Mateusz Jablonski
cb6777ee73 Correct USM function signatures
Change-Id: I555c87edcb063114305223bb912472d61016b3c7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-30 13:05:15 +02:00
Mateusz Jablonski
93c1e1b976 Add MultiGraphicsAllocation to USM
Related-To: NEO-4672
Change-Id: I53ea4bea73ae6d52840146f63bc561bb90f9fe62
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-02 09:39:21 +02:00
Andrzej Swierczynski
a5e4edb327 Choose valid bank from memory bank selector
Related-To: NEO-4645

Change-Id: I8d1f63ba24ead2e77ba6381e4770068bf2eb1725
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-26 10:51:43 +02:00
Sebastian Luzynski
fa3cb35fde Add check if device support Images.
Related-To: NEO-4675
Change-Id: I0c2b6e04536e45e70748983521e8469dd3dad697
2020-06-24 23:38:03 +02:00
Jaime Arteaga
abdb707a39 Check for hardware limit for runtime device allocations
Use hardware limit, instead of the one used for device capabilities,
so applications can fully use the available memory in the device.

Change-Id: I910c610d7a3af254724a810c3c60b9da8d5d64a7
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-17 18:56:09 -07:00
Maciej Dziuban
fb43726cdc Enabling forcing fine grained SVM creation
Change-Id: I0eb0af5e72f5502b788c6c8be39728bc6948c0bb
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-06-08 14:10:37 +02:00
Filip Hazubski
78d07b9b37 Pass Device when creating MemoryProperties
Related-To: NEO-4651

Change-Id: Ie1f7f55d4817612de83bfb2a372fd7ac35c11930
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-06-05 12:42:15 +02:00
Mateusz Jablonski
7f5aa241b2 Correct creating shared unified memory
select device from context when device is not provided by user
return error when allocation fails

Related-To: NEO-4588
Change-Id: I2196ebf7c3e7908d1f8ca60c85ab2ef449997f9c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-05 11:27:49 +02:00
Filip Hazubski
0a6da52bd4 Add implementation of new OpenCL 3.0 API functions
Additionally unify implementation of API functions related to creating buffers
and images.

Related-To: NEO-4368

Change-Id: Icfafc32f15e667e249fb318072194b6f76bd6481
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-15 12:09:08 +02:00
Filip Hazubski
86c2869a6e Add clSetProgramReleaseCallback function implementation
Related-To: NEO-4368

Change-Id: I5dff2759abcff457930a06226b71ad64e2f69c28
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-15 10:11:15 +02:00
Krzysztof Gibala
cb8e9656ee Merge MemoryPropertiesFlags files
Move mem_properties_parser_helper files to memory_properties_flags_helpers
Rename MemoryPropertiesParser to MemoryPropertiesHelper

Related-To: NEO-4143
Change-Id: Ib35360bceff90be2383696083226f8be1e47538c
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-05-08 14:17:36 +02:00
Filip Hazubski
8fd40b090d Add supportsOcl21Features value to capability table
Related-To: NEO-4368

Change-Id: If176d3be7c47d9d9ab70beebe664f2d569997501
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-05 15:02:50 +02:00
Filip Hazubski
85a5dcfe62 Add supportsPipes HW capability
supportsPipes set to false will disable support of Pipes on a device.

Related-To: NEO-4368

Change-Id: I2b03984d7618e85f482f8f8fa0fe3ef45ece7c19
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-05 12:12:08 +02:00
Filip Hazubski
22f9893495 Add debug flag to override device enqueue support
Enabling the new debug flag will disable support of device enqueue feature.

Related-To: NEO-4368

Change-Id: Icd17b44986bb682873364a2603633b7e44723a06
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-04 11:01:14 +02:00
Krzysztof Gibala
b0ed3b2ab1 Refactor MemoryPropertiesFlags
Rename:
- MemoryPropertiesFlags to MemoryProperties
- MemoryPropertiesParser to MemoryPropertiesParserHelper
- getMemoryPropertiesFlags to getFlags
- getMemoryPropertiesFlagsIntel to getFlagsIntel
- functions involved with MemoryPropertiesFlags

Related-To: NEO-4143
Change-Id: I4eec67bba95dd5354d0df43c31e6ca724909138e
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-04-28 18:15:25 +02:00
Mateusz Jablonski
7ed45adb27 Pass device bitfield when creating SVM alloc
Related-To: NEO-4484
Change-Id: Ie70b6fbd3351615bc15005755f2d7d9b4a3bad32
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-27 10:17:06 +02:00
Jobczyk, Lukasz
23601a8c59 Revert "Forbid to rebuild program"
This reverts commit aa957370da.

Change-Id: Ie935cfe1b3b70023e520042bce5f341ae6b39271
2020-04-22 09:14:47 +02:00
Lukasz Jobczyk
aa957370da Forbid to rebuild program
Change-Id: I0fe5d8c9b39b3fc857bba0bde77ed4d9a4bb95af
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-21 09:39:17 +02:00
Michal Mrozek
6cbb8352f4 Allow null global work offset.
Change-Id: I6396030213d9c5de9ff909299a5530f339c7b1fe
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-04-17 09:59:11 +02:00
Mateusz Jablonski
6e07281ff4 Don't allow for creating context with multiple root devices
Related-To: NEO-3691
Change-Id: Ica7ec1681b948ff8f9f69eeb1e11cdee64f57e50
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-10 15:57:21 +02:00
Andrzej Swierczynski
3b4276c8f7 Move AsyncEventsHandler to ClExecutionEnvironment
Related-To: NEO-4207

Change-Id: If859f995aae57ac03de13d57cc5a38c97303bbb4
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-03-31 15:42:07 +02:00
Filip Hazubski
64575cd589 Pass Context to parseMemoryProperties function
Change-Id: I74ff9fdb9292e281a1a6491387163db0de2ccea2
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-31 07:43:01 +02:00
Mateusz Jablonski
a651625473 Correct validation during creating command queue
check if device is associated with context

Related-To: NEO-3691
Change-Id: I7dfe12376bb2bb2c764b471315072a29068a0cb7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-24 17:05:31 +01:00
Filip Hazubski
fe851da327 Rename device directory
device directory is renamed to cl_device.

Related-To: NEO-3938

Change-Id: I96794c82632d042da6814550597d805df7bb6436
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-24 14:35:21 +01:00
Filip Hazubski
6174022ed1 Return CL_INVALID_OPERATION error
In clSetKernelArgSVMPointer and clSetKernelExecInfo functions
CL_INVALID_OPERATION error is returned if the associated device does not
support SVM.

Related-To: NEO-4368

Change-Id: I2a311d9307588ae992cee977b25df10841ebf668
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-24 13:16:07 +01:00
Lukasz Jobczyk
b546e89f99 Add a clMemBlockingFreeINTEL function
Resolves: NEO-4482

Change-Id: I201c5ab93b3f54a3980dd1fb50be82a4a66daa67
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-20 13:27:29 +01:00
Mateusz Jablonski
bd3931a9fb Change signature of CommandStreamReceiver::expectMemory
return bool value

Change-Id: Ia3471199c5fc4449ce13f92705080a4db96f88dd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-19 15:59:18 +01:00
Filip Hazubski
3b149b69a7 Remove duplicated fields from ClDeviceInfo
Related-To: NEO-3938

Change-Id: Ic13d69eaf2ba54794f82d78b058c960f27a6c29d
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-17 08:58:34 +01:00
Krzysztof Gibala
ded006295f Change error return type in clGetMemAllocInfoINTEL
Fix regression.
According to specification, NULL need to be returned for
specific type of allocation param.

Change-Id: I3db25b471075932821c8ffa06ed522d600562720
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-03-16 14:49:36 +01:00
Filip Hazubski
6ce9402fc2 Return CL_INVALID_OPERATION error for enqueuing SVM operations
The error code is returned if the associated device does not support
SVM.

Related-To: NEO-4368

Change-Id: I7c2300e05768e4acf541fa92bd94913de9b5eb81
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-12 09:54:13 +01:00
Mateusz Jablonski
4d045a613d Expose all created platforms
Sort devices properly

Related-To: NEO-3691
Change-Id: I23eb3caccb3161fef022ec5ab3674847770226c8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-11 07:30:06 +01:00
Lukasz Jobczyk
e9c576393e Move hwInfo to root device environment
Related-To: NEO-3857

Change-Id: Ic23077cad080a249457cec39462ca7407e75b227
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-10 17:13:08 +01:00
Mateusz Jablonski
7cf57e04f9 Move builtins and compiler interface to RootDeviceEnvironment
Resolves: NEO-4355
Change-Id: Id1a3365673165d775a60a7e0a3f463e1b8f5a496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-05 13:22:22 +01:00
Filip Hazubski
ed59e46c72 Update clSVMFree
Do nothing when received context does not have a device supporting svm.

Related-To: NEO-4368

Change-Id: I612fae138d6c40406a108f5b1e370eccee233236
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-05 12:34:19 +01:00
Lukasz Jobczyk
37de0f16b2 Export clSetProgramSpecializationConstant via function pointer
Change-Id: Ic606bb47a2cfc8408618b45755e4ffdc3b45ca67
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-04 15:36:33 +01:00
Filip Hazubski
5c3412ede1 Increment reference count when creating sub device
Resolves: NEO-4362

Change-Id: I8f667ff4baa368d3504da0b3ffd2db39a4d00d68
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-03 11:40:17 +01:00
Mateusz Jablonski
ffed348f3b Correct accessing cl device from Platform
don't use root device index to store cl device in Platform::initialize

Related-To: NEO-3691
Change-Id: I1fc5435e0246e241c4a38060de26f5c0369a1873
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-02 09:09:34 -08:00
Jaroslaw Chodor
915b80b1df Introducing kernel descriptor
Change-Id: I4ce6ebf27a81cf14b055817ebfe76d8427e349ab
2020-02-25 00:03:15 +01:00
Maciej Plewka
357fdc2e65 Move built ins to share directory
Change-Id: I740a349a0f15229cd356fffe996932029bf0f98b
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-02-24 15:46:44 +01:00
Mateusz Jablonski
9dbeeea18f Clang-format: restore sorting includes
Change-Id: I34eb993b562c77f56d8fbd51a02ee266c1f76678
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-24 10:22:30 +01:00
Mateusz Jablonski
7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
Mateusz Jablonski
370424a1e0 Change core inlcudes
Change-Id: Iaec903af420f0a92f7d86e484c83300fb9c531ad
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 18:46:50 +01:00
kamdiedrich
d015d3633f Add absolute path to include
Change-Id: Ib0782b4ab8d9a26ec358ecfb57721f4fe8d51b06
2020-02-23 08:47:49 +01:00
kamdiedrich
fa8e720f9e Reorganization directory structure [1/n]
Change-Id: Id1a94577437a4826a32411869f516fec20314ec0
2020-02-22 21:56:09 +01:00