Commit Graph

277 Commits

Author SHA1 Message Date
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
Mateusz Jablonski 31e6005fa3 Move getNumHandles method to GraphicsAllocation class
Change-Id: Id03e93d1f2558b0c2b740e199e335c8e6f00842a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-26 14:41:40 +01:00
Jobczyk, Lukasz 9ecb3193af Reverse logic of creating Memory Manager - part 3
-Move a Device::getEnabled64kbPages method's logic
 to the Memory Manager constructor

Change-Id: Ide88898000e5817a79f9a6ad5dfc9d680bec0533
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-25 14:42:16 +01:00
Piotr Fusik cc13045ddd Move definitions out of engine_node.h.
Change-Id: I18692a444663c11103f8991415b38000c633f24a
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-25 13:22:55 +01:00
Dunajski, Bartosz cbe4e06165 Improve waiting for MemObj completion
Change-Id: I62078224daa21ee1d6f58f1e6dc59e306ae420b6
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-25 10:51:32 +01:00
Mateusz Jablonski ee9eb8df83 Release all Gmms
Change-Id: I2227b6a1014fea59053893c9d6330f1c386bbcd2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-22 12:19:44 +01:00
Mateusz Jablonski 6abc3f7d9b Add logic to create wddm allocation with many handles
Change-Id: I1eeffddf7108183ad867d2b05d313f0cf6941c01
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-21 11:28:55 +01:00
Piotr Fusik db9afd06cd Remove EngineInstanceT.
Change-Id: I08543b5f4ef5e91e6beb8390d448e53702cd9dac
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-20 10:56:22 +01:00
Mateusz Jablonski 5367440fab Refactor Wddm map gpu address method
Change-Id: I9d3d8675bf80af4079e25b84ba6e09b7883c9e28
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-20 08:40:47 +01:00
Venevtsev, Igor ddf3aa186d Use HEAP_STANDARD for Limited-range allocations
Change-Id: I8b35cda2b5542e98a83021b4ce1c9f5118e6697d
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-03-19 10:18:21 +01:00
Zbigniew Zdanowicz b1d82cd87e Add Local memory to MemoryPool
Change-Id: I908d4d99b53ed3ab959bbdc094cc1ae7bdfe2971
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-03-18 16:18:21 +01:00
Piotr Fusik 429487fad0 Add constructor parameter to select low priority context.
Change-Id: Ieb3fa008a2f1b54052e393516038c88f00944fa0
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-18 15:09:59 +01:00
Zbigniew Zdanowicz cdb52400c4 Add new functions reserving address range to Memory Manager
Change-Id: I947203c24495c9e5a206b95bb0c69440824586b6
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-03-14 15:06:11 +01:00
Piotr Fusik 25e6494443 Use std::bitset for deviceBitfield.
Change-Id: I9078ffbb38967b753980cb1c5ebcab00f5292598
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-14 08:36:01 +01:00
Jacek Danecki 4997dffcf8 fix compilation on clang 4 and clang 5
https://github.com/intel/compute-runtime/pull/142

Change-Id: I1a4fecd3dd6dd4739d352f7b811b95403fe68951
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2019-03-13 19:51:30 +01:00
Mateusz Jablonski 395e79fee8 Add support for many GMMs in Graphics Allocation
Change-Id: I955b8dd50b502f91700c5529d0a0a291632aa157
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-13 15:44:45 +01:00
Filip Hazubski 01c11fdf98 Fix typo in variable name
Change-Id: I693e73d7fcb7c586506d3e102b77b95a0a0d3783
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-13 09:23:28 +01:00
Piotr Fusik ec72787b98 Remove MemoryManager::allocateGraphicsMemoryForHostPtr.
Change-Id: I629f2299a183fc135135dbaff89216b966554a95
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-12 15:51:32 +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
Venevtsev, Igor 74f1896c03 Expose GfxPartition to shared MemoryManager
Change-Id: I039e463f90e88c0ed8e9505cc770c373420ff567
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-03-12 09:25:50 +01:00
Maciej Dziuban 79d0878e64 Wait for resource not being used in freeGraphicsMemory
Change-Id: I201d914569fc0cf6f9eb616d456a670b0b8741ab
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-11 12:18:38 +01:00
Mateusz Jablonski 3f690e1758 Dont unlock/evict wddm allocations during releasing memory
Change-Id: Ib934867886a883a22fde2f0c03e16338dc215e65
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-11 10:20:09 +01:00
Piotr Fusik 8e49c8f67a Improve readability of getMaxApplicationAddress.
Change-Id: I92bba124746b4d16bf4cdae294e24c4667e03aef
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-08 13:30:22 +01:00
Jobczyk, Lukasz 878fd43a1a Reverse logic of creating Memory Manager - part 1
-remove CSR::createMemoryManager method
-create MM from platform before creating devices

Change-Id: I0e7f091c53b0e60ae7101e82a305253af626330e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-08 09:47:29 +01:00
Piotr Fusik a2c05a241d Set allocationType in constructors.
Change-Id: I66738be1239acdaf282f813aed46066bc5023112
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-06 16:07:28 +01:00
Dunajski, Bartosz f24b428cf7 Improve HardwareContextController creation
Change-Id: Iba929a2b4fcd993b38dd674be578aad0a481e8de
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-06 12:31:20 +01:00
Mateusz Jablonski 7e3b6d2d90 Move definition of maxOsContextCount to engine_node.h
Change-Id: I1ed252e9bbf382b449c7751061f9df42ded8b797
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-04 15:34:05 +01:00
Filip Hazubski 075155af5f Improve HostPtrManager
Change-Id: If3129edbb7a2a2f40f70801582df66509121afa1
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-04 11:45:03 +01:00
Mateusz Jablonski 24cb171d2a Rename DevicesBitfield -> StorageInfo
Change-Id: I2f763be185350de7b76838c9f101a1f8026f42c9
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-04 11:44:04 +01:00
Mateusz Jablonski 5b2d13765a Move logic of copying ISA to separated method
Change-Id: I2c5fd3004fa41ed1bf1cf3d54741756f546f6941
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-04 09:21:15 +01:00
Dunajski, Bartosz 86dabbf6d5 Improve OsContext construction
Change-Id: Ibf9293344cc5c0ae1b2cc011e87d9e3626f3a066
2019-03-01 08:35:38 +01:00
Zbigniew Zdanowicz 10a25e405a Remove debug flag ForceMultiEngineQueue
Change-Id: Iabf38999a03be3422c25c12978808731df77a899
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-02-28 16:06:36 +01:00
Piotr Fusik 426a7b6efe Pass by const reference.
Change-Id: I68dc9d2a77da8cc7f81759c4e72d32e2e7f71a1d
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-28 14:12:13 +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
Mrozek, Michal 6cb4732abe Move isl3Capable outside of Graphics Allocation.
Change-Id: If9949f0d6d3405dcdeb221cbee1ce30307166c21
2019-02-28 10:48:27 +01:00
Piotr Fusik 8febabfbd6 DrmAllocation constructor accepts allocationType.
Change-Id: I6a6457948ada7eb59537d17b966278d114f802c6
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-27 16:58:22 +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
Mrozek, Michal 73456d66b3 Add proper type for host ptr allocations.
Change-Id: I324b54b415626043cc801ceb7f73547b96018fe0
2019-02-27 10:25:32 +01:00
Piotr Fusik 4e187e240c MemoryAllocation constructor accepts allocationType.
Change-Id: I99099d211692f9e043be76fadafd34dc09f36ffa
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-27 10:23:34 +01:00
Piotr Fusik d79f1afdc2 GraphicsAllocation constructor accepts allocationType and memoryPool.
Change-Id: I5044ed26ba0cb0fc9ca7077595f5ab56353ab58c
2019-02-26 13:29:25 +01:00
Jablonski, Mateusz 798137e4bb Add function to create devices bitfield based on allocation properties
Change-Id: Ic70443b1fb6106186efcff318690e434dc1db625
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-26 12:07:09 +01:00
Piotr Fusik 378bd28bab Change the signature of MemoryManager::createGraphicsAllocation.
Change-Id: Ia82235ff2831fd5b3436d488a5946bb49d63ce91
2019-02-25 16:08:35 +01:00
Katarzyna Cencelewska edb3e14147 Fix for enum's name
change lowercase 'b' for uppercase 'B'

Change-Id: I35f973bc7966e9d5b9f38d4e4a370215e80012ac
2019-02-22 11:59:17 +01:00
Piotr Fusik 4ec5be0c99 Simplify code by removing AllocationOrigin.
Change-Id: Ie73cefc1ae1ee846fb9a5ef1054af01cd1867a4d
2019-02-21 16:29:05 +01:00
Jablonski, Mateusz 9e7c30cb06 Choose Standard or Standard64 heap depending on 64KB suitablity of resource
Change-Id: I633b1bef1cdef2c5149909c997adc85434bcaf73
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-21 12:18:26 +01:00
Piotr Fusik 75edea81bb Virtual address space partitioning on Linux [2/n]
Move selectHeap from Wddm to MemoryManager.
Set DrmAllocation::origin.

Change-Id: I5d412e35d524d1f31174893b9ce1d3b1e98eee96
2019-02-20 14:43:08 +01:00
Mrozek, Michal 4139e88982 Allocate command buffers with proper allocation type.
Change-Id: I912dd41cf68fa16ab481bb003c4f5ae63f1f04c4
2019-02-20 12:52:45 +01:00
Dunajski, Bartosz 64fbfb21bf Improve iterating over existing CommandStreamReceivers
Change-Id: I12a10852d43c625ec5521ae91918fcb12e1a6aec
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-19 11:48:56 +01:00
Jablonski, Mateusz ed6381a66a Use HEAP_STANDARD64Kb when cpu access is required
Change-Id: I3a451b618f1b72836cd640ed510e874cf2d60624
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-19 10:36:15 +01:00
Jablonski, Mateusz 05d02a6fe7 Change DevicesBitfield type to struct
Change-Id: I7a005b07737cdd21efc174a2ee2be0f6b7f9068d
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-18 13:57:50 +01:00
Dunajski, Bartosz ba681035f8 Add new CSR to ExecutionEnvironment
Change-Id: I5d6b58b5c185bf283ae529ebb21a4cbc8e9f198c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-18 11:39:09 +01:00
Piotr Fusik 9af011809f Make HeapIndex and GraphicsAllocation::origin not specific to Windows.
Change-Id: Ie5a26b45c0b5eff0daf047361d8c992bd3c65ba7
2019-02-18 08:47:49 +01:00
Dunajski, Bartosz 958d931cd9 Allow to create HardwareContextController for multiple Devices
Change-Id: Ib066c937809536196182ca87359c487570cc2e89
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-14 16:00:00 +01:00
Zdanowicz, Zbigniew 8e1e874a76 Refactor headers and reorder include order
Change-Id: I6b341e2b37e569af7d741bfd7a63804c0b25a4c9
2019-02-14 13:39:01 +01:00
Dunajski, Bartosz 9f6eab0689 Change allocation properties for TIMESTAMP_PACKET_TAG_BUFFER type
Change-Id: Ied1c0d4d7ecd27104421a5cde6c79c04c4222265
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-12 10:30:34 +01:00
Dunajski, Bartosz 12da1b0616 Remove osContextCount parameter from GraphicsAllocation
Change-Id: I23b650e97f107008b1122a1ecea48722fe129863
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:44:37 +01:00
Dunajski, Bartosz dc181defba Use GpuAddress for TimestampPacket programming
Change-Id: I1303605c33e2e0267a1716e12a0bfcb341fcfbd7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:31:17 +01:00
Mrozek, Michal fe85c1d974 Do not allocate Linear Stream in system memory.
Change-Id: I2d9abaab3358907037265214cec80cc84d6b9c0a
2019-02-05 12:07:09 +01:00
Mateusz Jablonski fff8be32f4 Dont force system memory for internal allocations
use HEAP_INTERNAL_DEVICE_MEMORY for internal allocations

Change-Id: Id70caa30cd1e9c79df60773227d72b09541e4b77
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-02-01 16:31:34 +01:00
Mateusz Jablonski ce4a75e121 Require same allocation type when obtaining reusable allocation
Change-Id: I829301b83a6214bcfb4fc9f2692f21ae9a002456
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-02-01 16:10:28 +01:00
Zdunowski, Piotr 47091c7cfa [3/n] Log allocation placement.
Change-Id: I35936fdb1e49a5f93f499ef23cc8bb747d0a9d88
2019-02-01 09:57:43 +01:00
Mateusz Jablonski c04ba163a0 Simplify selecting heap in Wddm::mapGpuVirtualAddressImpl method
Change-Id: Id6eb5b0df1c705b5fadde62d20513fe15edf1e27
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-30 16:38:46 +01:00
Mateusz Jablonski f157943610 Allocate internal allocations through preferred pool
Change-Id: Ib17431ceefc1eb72f86625e0998f679baaa7cb0d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-30 11:18:15 +01:00
Hoppe, Mateusz c870628d08 Rename SHARED_RESOURCE allocation type to SHARED_RESOURCE_COPY
Change-Id: Ie846450384730171304788bbb1709d7f088036a8
2019-01-28 16:20:35 +01:00
Mateusz Jablonski 128bf4552f Remove debug flag ForceResourceLockOnTransferCalls
Unlock locked resoures in freeGraphicsMemory method

Change-Id: I2baae7b7f9d8260f19a4b083849c5bf0d1a764f3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-25 14:03:29 +01:00
Hoppe, Mateusz d7ce6ef8d1 Allocate images through preferred pool call
Change-Id: I79c9c1a0a95a8a3e26ed690530b71ef504cc7ff8
2019-01-25 09:05:25 +01:00
Mateusz Jablonski f332bf369e Set allocation's lock state only in lockResource and unlockResource methods
Change-Id: I60f35801287166f5bdb0dfcd31ff0118c56ec22a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-24 15:15:27 +01:00
Filip Hazubski 2d321cb557 Add option to disable caching for a resource
Introduce CL_MEM_LOCALLY_UNCACHED_RESOURCE flag that can be used with
clCreateBufferWithPropertiesINTEL()

Change-Id: I9f208f00952cdca7482371ec21cbc57c08435b52
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-17 13:32:36 +01:00
Zdunowski, Piotr 75a635fdc5 [1/n] Log allocation placement.
Change-Id: I9ab61e10dcb0fcbbaf859c077a64ce7a4f2c213c
2019-01-16 16:46:50 +01:00
Mateusz Jablonski 06600f169b Define GPGPU engines per gen
Change-Id: Ie0e565d11184c5355b5bf09f5b10a567deb5c106
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-15 12:05:19 +01:00
Mrozek, Michal 9cbfa3892d Remove debug flag.
Change-Id: I013e1f27477d67fd33ba6c559dffb26d06a0db8b
2019-01-14 15:19:57 +01:00
Piotr Fusik 30dd15144c Add debug variable to disable host ptr tracking.
Change-Id: Ifc866e06a4519e7590d40d8ad136147ecc80225d
2019-01-11 12:06:52 +01:00
Mateusz Jablonski b5d9ed77a6 Correct destruction logic of shared allocations
wait for all os contexts that used the allocation
when os context is not ready then flush related command stream receiver

Change-Id: I5fb2c16c1d398c59fbd02e32ebbbb9254583244e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-08 14:32:21 +01:00
Mateusz Jablonski aee69779fa Minor renaming in a scope of multi os context allocations:
shareable -> multiOsContextCapable
resetTaskCount -> releaseUsageInOsContext
resetResidencyTaskCount -> releaseResidencyInOsContext
isUsedByContext -> isUsedByOsContext

Change-Id: If824246a0e393b962bd12f8c63d429a0fcfcda25
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-07 11:42:43 +01:00
Hoppe, Mateusz a31c446d9f Allocate non USE_HOST_PTR and non-buffer images in preferred pool.
Change-Id: Ia486c7b32932202162d6587d06dc61023e38fff6
2018-12-31 14:37:44 +01:00
Mateusz Jablonski 56eced2faa Don't allow 32bit allocation for SVM allocation type
Change-Id: I2fbae4ce3be956a386bdc22c9b129f37d75c8e8f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-31 10:43:08 +01:00
Mateusz Jablonski 1e011f9a08 Allow to allocate shareable graphics allocation
Change-Id: I284b03b001e5b67c344d46f34048803ef9a57314
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-20 20:14:57 +01:00
Mateusz Jablonski c9e667d601 Simplify Memory Manager API [4/4]
- fill AllocationData in one place
- remove allocateGraphicsMemoryForSVM function
- refactor SVM manager tests

Change-Id: I6f4ecd70503da8031cced50ea98a54162fd8e5d3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-20 09:01:33 +01:00
Hoppe, Mateusz f6790c42cf Refactor Graphics Allocation paths for Images
Change-Id: Ifa3084b18cac95289bbceeaf3669dd31567fbd3e
2018-12-19 13:49:53 +01:00
Zdanowicz, Zbigniew 3dca095ccf Add cache flush command after WALKER command
Change-Id: I3983dc6c0797047e17cc8189655a22a22e85892b
2018-12-19 13:15:33 +01:00
Mateusz Jablonski b138ff5750 Minor refactoring related to residency task count
Change-Id: I49c9a5b37637e19fa12b7e6d91c352fb78bb117a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-19 11:38:49 +01:00
Dunajski, Bartosz 59e6a7be2a Allocate timestamp tag buffer in system memory
Change-Id: I71cb7678edc073fbb2c55e1a617b04959bcb75d7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-18 08:54:44 +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
Pawel Wilma 5094c630f7 Force resource locking on transfer calls
Add debug variables to force resource locking on memory transfer calls
and to call makeResident() on mapVirtualAddress() call.

Change-Id: Ifa78d951fcb81812b10a98252bd414124dec9c74
2018-12-14 12:25:28 +01:00
Mrozek, Michal b4256453ed Ensure that SVM allocations are zero-copy.
Change-Id: I20a20af33f95014d74e8101789de2581259c62fa
2018-12-13 11:20:09 +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
Dunajski, Bartosz c905dad62f Improve checkGpuUsageAndDestroy method to work with multiple CSRs
Change-Id: I7b8325116c90151c6339f95a81880c467e81748f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-11 10:26:50 +01:00
Piotr Fusik 0b839722f4 Don't store preemption mode in Wddm.
Change-Id: I6088e5fec65b6910fefb42ec9735181867c44a1b
2018-12-10 14:48:52 +01:00
Dunajski, Bartosz 7f7808fb71 Select RCS1 for low priority CommandQueue
Change-Id: I1f86b0afedb8f6e76fee896c2751a0bf196996d7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-07 13:18:13 +01:00
Mateusz Jablonski c8748b77a0 Simplify memory manager API [1/n]
pass struct with properties to allocate graphics memory methods:
for protected methods use AllocationData
for public methods use AllocationProperties

Change-Id: Ie1c3cb6b5e330bc4adac2ca8b0bf02d30ec76065
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-06 15:09:25 +01:00
Maciej Dziuban 43fd32b3ad Enable aggregating command buffers with multiple osContexts
- Store inspectionId for each osContext in GraphicsAllocation
- Pass osContextId to aggregateCommandBuffer and use it to select inspectionId

Change-Id: I2c377ad7577a8c882cc89c1205430cb581c2c0d5
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-12-06 10:11:07 +01:00
Dunajski, Bartosz b728526c4e Allow Device creating multiple CSRs [8/n]
Use OsContextId instead of DeviceIndex for residency

Change-Id: Ib2367b32b5b3e320252d8254f1042f1c3d497068
2018-12-04 15:36:59 +01:00
Mateusz Jablonski 7747db13e1 Deferred deleter: move to next deletion if current deletion cannot be applied
Change-Id: I7067bc2bc74f92518a33ccb9f9dce9b57cc28637
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-03 15:24:35 +01:00
Dunajski, Bartosz 1f7448425d Allow Device creating multiple CSRs [7/n]
Create and initialize all supported Engines

Change-Id: If0adf1a06b5005ef2698cebc6f1aaa6eacf562ec
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-30 15:48:44 +01:00
Dunajski, Bartosz 0131e66a70 Allow Device creating multiple CSRs [6/n]
- Introduce default Engine query
- Improve Deferred Deleter usage
- Remove Tag Allocation from Device

Change-Id: Iaa88d8dc0166325acf9a157dcd2217ea408ee285
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-29 16:20:13 +01:00
Maciej Dziuban 1cd59e927a Store residency status for each osContext separately
Change-Id: I2f17f68dcef6db7b596a69579a435b7ccd24e44b
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-11-29 08:08:25 +01:00
Mateusz Jablonski 6be8aee45d Restore deferrable allocation deletion
Change-Id: Ie5e87fa6551b7ee33579fcd9487c7e9c3bd4ab95
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-29 07:48:19 +01:00
Piotr Fusik 87bb6afa56 Move stamps allocators from memory manager to CSR.
Change-Id: Ib399e462cdddad89fcc470df4c4f0f5e4591a6b2
2018-11-27 14:52:06 +01:00
Dunajski, Bartosz 2d77b86e70 Allow Device creating multiple CSRs [5/n]
- Move Engine type to OsContext
- Move OsContext to CSR
- Improve EngineMapper logic
- CompletionStamp cleanup

Change-Id: I935cb7169c8c48cd09837e20e3da06f6dd3437b9
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-27 14:25:04 +01:00