Commit Graph

332 Commits

Author SHA1 Message Date
a3f5e70e6a Remove not needed virtual.
Change-Id: Ifb335a67753bc99a74d4c991d48c8d83e9e3d826
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-26 09:25:59 +02:00
f362739521 Refactor L3 programming.
- Do not do it via member setting.
- Utilize DispatchFlags

Change-Id: I75d4c8ea6c1e10ca0edeeb0d1c3883a549c1cb1f
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-23 08:46:27 +02:00
c2a0031a9b Fix includes related issues
Related-To: NEO-3241

Change-Id: I1715e3e0dcc37ad29759cc03a2b4b894843b5bbb
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-08-19 21:57:18 +02:00
552a1268eb Refactor blit buffer call
Resolves: NEO-3241

Change-Id: I726135ae55d1e0fcbacd80620e827ee5c7c0c8dc
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-08-09 16:43:40 +02:00
c5f9915acd Remove redundant code.
Change-Id: I4c4cb5c6a6c316ca3c25260d9bcb60baded3c738
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-09 14:10:23 +02:00
230c86b95e Set GPU base address only if EXTERNAL allocation requested.
Change-Id: Ia3a4c195f368f2e0bdedcfbe8b32bb0dd3e88e1e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-09 13:43:12 +02:00
c3a54dd5ad Remove OCL object from MemoryProperties 1/n
Create struct MemoryPropertiesFlags and helper for it

Related-To: NEO-3132
Change-Id: If303a563d7dbae8cf897aa8182b9caab08593c75
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-09 08:47:54 +02:00
f856288d68 Change AllocationFragments to allocationFragments
Change-Id: I6c5cc82b0e6c669a3e82d602bd30456b3ba949c0
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2019-08-08 09:07:49 +02:00
5a8b6f332b Define getter for SVMAllocs
Change-Id: Ieebda5ef74733f6199e33d8579bdf1f62c5c82fe
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-08-07 13:22:29 +02:00
4360aff03c Move runtime/helpers/aligned_memory.h to core/helpers
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Change-Id: I15de094c51d4eb18bfff4d17fd34e817b5525fda
2019-08-06 23:56:24 +02:00
614104bf37 Remove MMAP allocator from DrmMemoryManager
Related-To: NEO-2877

Change-Id: Iddfadde449b71b2fcfb7d6298db5de014773476d
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-08-05 17:39:21 +02:00
8169347aa9 Add ULT for OSMemoryLinux
- ensure OSMemoryLinux::reserveCpuAddressRange() calls mmap()
  with -1 as fd param

Related-To: NEO-2877, NEO-3530

Change-Id: I2d5903291726b086af8b913f92b64e8c38c23462
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-31 15:04:50 +02:00
e721ff1ec3 Add ULT for DrmMemoryManager
- ensure DrmMemoryManager::releaseGpuRange() calls GmmHelper::decanonize()
  before pass gpuAddress to GfxPartition::freeGpuAddressRange()

Related-To: NEO-2877, NEO-3530

Change-Id: I6f6b745a8f9262c6980b9ddd32c70d376fa49726
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-30 13:25:03 +02:00
2548bea71d Minor clean-up.
Change-Id: Id1523930fc8aedf85506e254c67f6b1ca8dd020d
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-30 11:53:20 +02:00
4198e8f24f Add interface to get local memory size
Related-To: NEO-2687

Change-Id: I8d9913e925f88de34d71da9371d25ec04d2e02d5
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-07-29 14:40:56 +02:00
fa06a38e51 Optimize include scheme.
- remove no longer needed stuff

Change-Id: Iae97a69e2a3136909ab8d0b24b259a7bff15e9e0
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-26 11:34:25 +02:00
6c412c68c0 Improve BcsBufferTests
Change-Id: I43177b4bd1907565d32ad9fe1ac58f0bf5016a2f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Resolves: NEO-3514
2019-07-25 07:25:27 +02:00
b5020eac81 Create helper for memory properties
-Move logics from  mem_obj_helper

Related-To: NEO-3374
Change-Id: I167cdcc8fcb08cb1fa6d19640fd266f0004f4c6b
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-07-23 11:31:49 +02:00
af91147c5d Use internal ref counts to reference objects encapsulated by surface.
Change-Id: I4fa78637806b67c6dcc7bf1d2ef812c770a49583
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-19 14:48:01 +02:00
f01c1d2d49 Add residency mechanism to OS interface
Change-Id: I323ca856d3c901bdc4d5961cdefa42685b53d4d9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-07-19 13:35:11 +02:00
23e9e9e02e Register Blit CSR to CommandQueue
Change-Id: Ib22ef934492b702990ca549bab576993b0684e98
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-17 08:04:03 +02:00
f7e04a897b Add unrecoverable for returned pointer.
Change-Id: I3d9f923e8a9b6fbdba752ecec8dfff525e0cabd2
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-12 16:30:08 +02:00
808fbc3c34 Add debug flag for controlling shared unified memory allocation scheme.
Change-Id: I1a04993b688505de667856e8f44fef4902f912db
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-12 13:55:45 +02:00
0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
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
4403796f58 Use GfxPartition for GPU address range allocations
[4/n] - Remove allocator32Bit

Related-To: NEO-2877

Change-Id: I0772a7fe1fda19daa12699c546587bd3cdd84f2c
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-08 12:09:07 +02:00
09e87879db Add allocation type for Write Combined memory
Related-To: NEO-3392
Change-Id: I8c61b2ca2a25325d47095568703888688a2eb069
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-07-08 12:02:26 +02:00
42b87654eb Add preemption allocation for each of the Csr
Change-Id: Id14fbfbf6e9a6a85f035e75b4a20ca198c0996e5
Signed-off-by: Hinz <daria.hinz@intel.com>
2019-07-03 08:17:38 +02:00
27654c9282 Buffer-to-Buffer blit operations support
Change-Id: I76c9fae83fa2a31bd6108999c7f77f4a47c47f1b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 23:46:07 +02:00
832814cefa Add debug flag to enable calling freeMemory in memory Manager
Change-Id: I61a3c6e768bd9a479731f9e3e000069c9b677c33
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-07-01 18:10:48 +02:00
165d1e4e55 Use GfxPartition for GPU address range allocations
[2/n] - OsAgnosticMemoryManager

Related-To: NEO-2877

Change-Id: I887126362381ac960608a2150fae211631d3cd5b
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-06-25 12:54:20 +02:00
0758661c52 [9/n] Unified Shared Memory
- Wire in support for clMemFreeINTEL.

Related-To: NEO-3148

Change-Id: Ibef61b7d9bdfa3021533faa0019b6b443145f1be
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-19 16:06:52 +02:00
d06fcc8599 Dont force system memory for pipe and global surface
Related-To: NEO-3127

Change-Id: Iffb1b04401a19043bdb898b7896068bc760f4797
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-19 12:46:30 +02:00
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
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
dd0d81672b [4/n] Unified Shared Memory
- Add allocation logic for host allocation.

Change-Id: Ic250b2165a050bbff7dea1b33b904d6d66cf8113
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-17 12:40:37 +02:00
5956164451 AubManager to call freeMemory upon cleaning osHandles of host ptr storage
Related-To: NEO-3231

Change-Id: I028a5985f1bdffebd673f4b5fead1a314d773b6d
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-14 10:30:56 +02:00
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
329d940285 Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242

Change-Id: If31adaead389acd3bef6af1931b91396c43b305e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-14 06:59:28 +02:00
ff4e668440 Adding GraphicsAllocation::getUsedPageSize()
Change-Id: I1e8ebe7d24d0c647e0ce3bc73e662e427acc4212
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-06-13 15:44:10 +02:00
4188f6dce8 [1/n] Unified Shared Memory
- Add Internal Allocation type to differentiate SVM allocs from UM allocs.
- Add API to make internal allocations resident.
- Add API to allocate UM.

Related-To: NEO-3148

Change-Id: I9787891c5a0ffccac45c43bc5fde4ea50f37d703
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-13 14:48:02 +02:00
145f5b20e9 Require cpu access for constant surface
Related-To: NEO-3234

Change-Id: Ie0ccd3d3fc144400e63123d6c27b228bb7207f33
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-13 14:32:49 +02:00
b86d8f060b Do not force system memory for constant surface
Related-To: NEO-3234
Change-Id: I1c78d15840e1071e4d7451f85e2e76ba7bff2ee5
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-06-13 08:40:33 +02:00
b04fc1121e Apply memory flag when creating Gmm with image info
Resolves: NEO-3294

Change-Id: I2702611c5b3b2ccd8d48219b90479a6fd3fbe1f7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-12 17:36:07 +02:00
70f92cf03c Rename KernelCommandsHelper to HardwareCommandsHelper
Change-Id: I0b92a2d74bc96658274e4a02fec0f322e87681b2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-12 13:45:12 +02:00
d535638198 Removing unused struct CheckedFragments
Change-Id: I169b23bdf6de18cede28d8328b9aa598e8cb3dc0
Related-To: NEO-3172
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-06-11 10:20:49 +02:00
007982b51f Add the supportsMultiStorageResources flag
Related-To: NEO-3182

Change-Id: I618b734b37c5fb983be55b50d89a965eaedc78fe
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-10 17:57:49 +02:00
5244030e31 Call ioctl to obtain file handle from prime bo
Related-To: NEO-3252

Change-Id: I8d976ae29875db83dd75802e0309cb4438d1332b
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-10 09:06:59 +02:00
92a29a3e86 OsAgnosticMemoryManager to call freeMemory on AubManager for hostPtr
Related-To: NEO-3231

Change-Id: I83d5c9036d7f5531c1e7290058b8e2635e42ec18
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-09 14:42:23 +02:00
0d19aa2bfa Use SpinLock instead of std::mutex.
- SpinLock uses atomics and is much faster then std::mutex
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>

Change-Id: Ica443a3aef37a4831ace3b7d042831c6be451abf
2019-06-04 15:41:58 +02:00