Commit Graph

86 Commits

Author SHA1 Message Date
Mrozek, Michal 0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
Chodor, Jaroslaw ce061a48ef Support for symbol/relocation tables
Change-Id: I87890f6dc36a3454ffdcab1fb9d070fdaf91e689
2019-07-10 16:51:43 +02:00
Milczarek, Slawomir 6b77f94275 Extended DRM memory manager with function to copy memory to allocation
Related-To: NEO-2687

Change-Id: I2cd20c1d59dc0c28609fca7a11a5d805e2f21de4
2019-07-10 11:02:21 +02:00
Dunajski, Bartosz bb6dfd4fe6 Add debug flag to disable aux translation
Change-Id: I1f3a2941de44e9fe793ef3f1c6425c80293cc63a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-25 12:03:52 +02:00
Mateusz Jablonski 7a3b2e583b Use GPU pointer when programming constant/global surfaces
Related-To: NEO-3127

Change-Id: I29fd5e3f3f370c21a20f403f66c0a3604be884fd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-21 14:20:22 +02:00
Mrozek, Michal 3a75c4fb71 [7/n] Unified Shared Memory.
- Add basic allocation support for shared allocations
- Add kernel support for shared allocations.

Related-To: NEO-3148

Change-Id: Ie0523acc3a444eef6a5aeb6a56a041280df6a02e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-18 09:17:16 +02:00
Mrozek, Michal e279804c0c [6/n] Unified Shared Memory
- Move definitions to core folder.
- Add tests for core related code.

Change-Id: I9ae0473f965ba56cbe2f5458160b8a24d06595ae
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-18 07:18:18 +02:00
Mrozek, Michal 2e8e625024 [5/n] Unified Shared Memory
- Add kernel support for host um allocations
- During make resident call choose only appropriate resources for residency
- change resource types to binary bit friendly values
- enhance memory manager to only make resident compatible types

Related-To: NEO-3148

Change-Id: Ic711a4425a0d8db151a335e0357440312dc09b7e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-17 15:47:30 +02:00
Mrozek, Michal a5c4956bbd [3/n] Unified Shared Memory
- Add vector of UM allocations to kernel that will be accessed indirectly
- Wire in support to clSetKernelExecInfo

Change-Id: I5858f2a93ab957597f3131022daee3741c3453ab
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 15:05:39 +02:00
Mrozek, Michal be48b56732 Kernel refactor.
- Change function names to indicate they work on SVM allocations.
- Remove one function used only in tests.

Change-Id: I9b18d9fee3d4f2a46a7f458ca73d39b3863ce6d3
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 10:27:21 +02:00
Mrozek, Michal 8e969684f1 [2/n] Unified Shared Memory
- Add kernel flags specifying indirect usage of device allocations.
- make device usm allocation resident when kernel requires this

Related-To: NEO-3148

Change-Id: I689347a0ea9b0f84c83f7883ca2381be63c61af9
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 09:56:40 +02:00
Jaime Arteaga b98b51b0d9 Move ptr.h to core folder
Change-Id: Icf0db7c767b2b1ea44fccc02b135f0f6c1f78c8f
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-05-29 00:11:34 -07:00
Katarzyna Cencelewska 9217b80b42 Change order of if in kernel initialize
Change-Id: I585addeaa5bc32a869a1b433bf80a918a79269a9
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2019-05-16 22:32:18 +02:00
Mateusz Jablonski b8fb5e683b Move basic_math.h and vec.h to core directory
Change-Id: I143b7af450ff48d4958b4bc7137b393a2dc0eb64
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-14 21:32:55 +02:00
Dunajski, Bartosz 0f87e9aa1a Rename HardwareInfo members
Change-Id: I85f56b677bafdd75dd958b488522393fc18b68af
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 09:13:55 +02:00
Dunajski, Bartosz bb80d327c7 Move HardwareInfo ownership to ExecutionEnvironment [1/n]
Change-Id: I5e5b4cc45947a8841282c7d431fb69d9c397a2d4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-08 16:11:01 +02:00
Jobczyk, Lukasz 27c52714bb Add performance hints when kernel's argument requires aux translation
Resolves: NEO-2931

Change-Id: I3756265d0d8a774805b0b35088b7477b09b5a7bf
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-04-29 15:55:42 +02:00
Mrozek, Michal 22c2c9b02c Change the size of aux translation transfer.
Change-Id: I9b34babf26eee217c203d0c09d819765a45a9506
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-20 15:45:07 +02:00
Mateusz Jablonski 74ae06b131 Add new allocation type for internal allocations in system memory
Related-To: NEO-2733

Change-Id: I256d414c1e92647469dd2a80f83bdbfc8721cf43
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-17 11:20:50 +02:00
Filip Hazubski b2e16b7897 Update allocationForCacheFlush method
Related-To: NEO-2535

Change-Id: Ia24556814188263e2ebb54b6419feddd5d8ed707
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-03 18:07:13 +02:00
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
Mrozek, Michal c269e97163 Add query for kernel ISA GPU address.
Change-Id: I70974b4f73b82461eb854e4b8b400887b9977f15
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-03-26 12:54:32 +01:00
Maciej Dziuban cd62be59e1 Add allBufferArgsStateful field to Kernel
Change-Id: I885ede725830964374421eff621cf01cecc4b17e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-21 14:24:36 +01:00
Mateusz Jablonski c0325b5d19 Don't copy memory to allocation if allocation has no storage
Change-Id: I3238bec02e5c1ec5877537318bb563e3d0f3799d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-12 09:44:17 +01:00
Zbigniew Zdanowicz de212138b7 Use GPU address of SVM allocations in kernel functions
Change-Id: I65fb22df2e005468956af1369b0b822cdaeaedf1
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-03-12 09:24:44 +01:00
Maciej Plewka e53a8e8709 Add postSyncAddress to flush after walker
Change-Id: I7fdfaf8e0acc365998cc74306ab715ea3d9c7d72
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-04 14:47:53 +01:00
Mateusz Jablonski 6fb28dd828 Refactor GraphicsAllocation class
move most of members to protected section
merge related members into structs

Change-Id: Ief2e092aa5e61ca6f13308f9d9b1937ea6c913b4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-02-28 14:09:11 +01:00
Piotr Fusik 33a9d3160b Simplify code.
Change-Id: If730d02312da01515ae53b5faaeb5d33419ec4ba
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-28 13:09:52 +01:00
Filip Hazubski 8b57d28116 clang-format: enable sorting includes
Include files are now grouped and sorted in following order:
1. Header file of the class the current file implements
2. Project files
3. Third party files
4. Standard library

Change-Id: If31af05652184169f7fee1d7ad08f1b2ed602cf0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-27 11:50:07 +01:00
Zdanowicz, Zbigniew 8e1e874a76 Refactor headers and reorder include order
Change-Id: I6b341e2b37e569af7d741bfd7a63804c0b25a4c9
2019-02-14 13:39:01 +01:00
Chodor, Jaroslaw 43856e88b5 Refactor around cache flush and command queue
Change-Id: I277e27cbc60fbbb015c0024f171697408879ec0b
2019-02-10 17:59:33 +01:00
Zdanowicz, Zbigniew 44491a111c Use MemoryManager retrieved from ExecutionEnvironment in Kernel dtor
Change-Id: I5f3880e1a95b3cbd262847d97776b0b92a580181
2019-02-06 17:08:51 +01:00
Kamil Diedrich 62e56d2398 Disable L3cache when resolve argument
Change-Id: I4bb3a18d67254eef8aa4a0ce6b29401726f0b47e
2019-02-06 15:51:31 +01:00
Chodor, Jaroslaw 048098ce66 Refactor around cache flush after walker
Change-Id: If5c7399df91bd076b684bcab83f50b4852e53429
2019-02-06 11:12:55 +01:00
Filip Hazubski d30cc221df Update disabling caching for a resource
Change-Id: I00eac0add01f75a1b82d04cf42652c15b776a457
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-01 10:50:21 +01:00
Chodor, Jaroslaw 7d04159f76 Refactor around cache flush
Change-Id: Iff32af0111375f4ffc804c82e6d753d57fe94e80
2019-01-31 22:19:06 +01:00
Mrozek, Michal b99cf6c3ff Image / Buffer refactor.
- do not use redescribe flag for image/buffer from other image/buffer.
- use redescribe flag only when image is redescribed via redescribe interface
- remove image specific functions from mem object
- remove redundant fields
- add new implementation of isImageFromBuffer/isImageFromImage basing
on associated mem object.
- pass associated mem object to redescrbed images.
- remove redundant setters

Change-Id: I267637a48fbc2afdad9a9f5e5e9ccd6bd0c09972
2018-12-19 21:21:44 +01:00
Zdanowicz, Zbigniew 3dca095ccf Add cache flush command after WALKER command
Change-Id: I3983dc6c0797047e17cc8189655a22a22e85892b
2018-12-19 13:15:33 +01:00
Kamil Diedrich b2e0195663 Change Buffer to MemObj in BufferForAuxTranslation collection
Change-Id: Icbdb8fecaa3fd8e19e993502f59c76156fe4ad2c
2018-12-19 08:05:51 +01:00
Piotr Fusik e8a71132a4 Remove unnecessary casts.
Change-Id: I2d293d065c7efa006efe7d60a625cba0c6116c86
2018-12-18 13:42:14 +01:00
Dunajski, Bartosz 4ddf5a1e87 Add debug flag to control RenderCompressed value in HardwareInfo
Change-Id: I733125fbd8596f24cdeb636b69a9198c44bd899b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-17 13:11:00 +01:00
Mateusz Jablonski 8ec072d39c Simplify Memory Manager API [3/4]
- remove method allocateGraphicsMemory(size_t size)
- pass allocation type in allocation properties
- set allocation type in allocateGraphicsMemoryInPreferredPool

Change-Id: Ia9296d0ab2f711b7d78aff615cb56b3a246b60ec
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-17 10:42:16 +01:00
Mateusz Jablonski a6be6533ea Simplify Memory Manager API [2/n]
- make AllocationData a protected structure
- use AllocationProperties instead of AllocationFlags
- refactor methods: allocateGraphicsMemory64kb, allocateGraphicsMemoryForSVM
- call AllocateGraphicsMemoryInPreferredPool in AllocateGraphicsMemory
  where there is no host ptr

Change-Id: Ie9ca47b1bccacd00f8486e7d1bf6fb3985e5cb12
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-11 13:12:00 +01:00
Pawel Wilma e06aa17dfc Grf configuration
Change-Id: I3741f53a38c6707b0c8ad82ae553ea65ae6917e4
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-09-27 17:57:19 +02:00
Venevtsev, Igor 7c94409ce8 Change MemoryManager::allocateGraphicsMemoryInPreferredPool() signature.
Remove allocateMemory param.
Add AllocationFlags and DeviceIndex params.

Change-Id: I3ba048f8ea9840a047a3222dc1e97be2105c2222
2018-09-20 13:04:21 +02:00
Woloszyn, Wojciech 404c0cccb9 In Kernel::resolveArgs, use argument's object, not value
Change-Id: I65a1855349707d06172b2e0d4ad97dd9f4554c25
2018-08-14 17:25:49 +02:00
Dunajski, Bartosz 3469539798 Remove UNRECOVERABLE_IF from setArgBuffer
Change-Id: I7cddad0fc902489139b26e655cb301de0dda422c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-14 15:21:53 +02:00
Lukasz Towarek 78f505f4f4 Return CL_INVALID_ARG_SIZE instead of CL_INVALID_ARG_VALUE
Change-Id: Ia8792035e19a450f1399f8be3287ef46d0d6609d
2018-08-13 13:31:55 +02:00
Dunajski, Bartosz 6ca84c278a Aux translation [3/n]: Dispatch AuxTranslation builtin when required
Change-Id: I9bd0294de7980ac01ebb3c2d696eba6fd6a456ec
2018-08-13 12:15:30 +02:00
Woloszyn, Wojciech 53d99ead24 Fix sampler lifecycle
- Add refcount to sampler to avoid use after free

Change-Id: I0f03d8ed29b5b9dc5bee355ed266ac7437e92509
2018-08-13 10:13:08 +02:00