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
Dunajski, Bartosz
8ae7de7b0e
Create HardwareContext only when osContext is available
...
Change-Id: I8bcf2cb20f0e1e6b9da98b477f5be206407a7a57
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-13 15:12:07 +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
Hoppe, Mateusz
694b643df1
Add useLocalMemory flag to ImageInfo
...
Change-Id: I664f9e17c0c480c2b7b2b34dcfaefa7929b9ddfe
2018-12-28 13:53:53 +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
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
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
Dunajski, Bartosz
7781089740
Allow Device creating multiple CSRs [4/n]
...
- Introduce additional RCS engine
- Set fixed size for Engines array
Change-Id: I06533a425684b64214f956783b07877e6157935b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-26 09:40:44 +01:00
Mateusz Jablonski
f877d4254b
Revert "Implement deferrable allocation deletion"
...
This reverts commit d961bd8354
.
Change-Id: Ie7d772d57199ea2897e238b2ac289bd60a89e6c6
2018-11-23 14:59:02 +01:00
Mateusz Jablonski
d961bd8354
Implement deferrable allocation deletion
...
Change-Id: I5e99d1bbb920619f63b71573335dc76f19c796a6
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-23 11:28:52 +01:00
Dunajski, Bartosz
706d9f8070
Allow Device creating multiple CSRs [2/n]
...
Create new OsContext per CSR
Change-Id: I8dad7fc1ab450e560f78eba3152b5913791e59a3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-22 14:29:44 +01:00
Mateusz Jablonski
352450adaa
Pass number of os contexts to Graphics Allocation constructor
...
Mark unshareable allocations
Change-Id: Ie745dc639d8c6b01e2275d29ee1fb4c6343df2bc
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-21 17:38:02 +01:00
Dunajski, Bartosz
af46d88fc1
Allow Device creating multiple CSRs [1/n]
...
Change-Id: Ie5d8d89aa388c608d5464919059c28a054ac9b1e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-21 12:37:25 +01:00
Dunajski, Bartosz
d6870a896b
Reduce tag pool size to 1 for AUBs
...
Change-Id: I3a3513250b10e899795e149bff2739193a725f84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-20 11:42:32 +01:00
Mateusz Jablonski
66492a53a4
Change type of residency task count to uint32_t
...
Move definitions of objectNotUsed and objectNotResident to GraphicsAllocation
Change-Id: I2aec604a865cc6c975e9d1121028cbdd35c0b18a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-16 16:04:48 +01:00
Dunajski, Bartosz
bd4ea652ec
Make Timestamp allocations OneTimeAubWritable
...
Change-Id: I22e973714e4df1b3a07d8fb45cdab37b28a6433e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-16 15:49:25 +01:00
Mateusz Jablonski
0e0a280803
Create structure UsageInfo for task count and residency task count
...
Change-Id: I0899c88d9e567a09ba46461ae69cf6c80f713e67
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-15 14:07:05 +01:00
Mateusz Jablonski
630a7e1c26
Allow to reuse just completed allocation
...
Change-Id: I7c1ab153178b79348d49209ca09478543d35e197
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-06 22:11:24 +01:00
Woloszyn, Wojciech
549b73510c
Flush L3 for reduced address space platforms
...
Change-Id: I5a73e72f8e309137328930920ab174ba6f1378dc
2018-11-06 14:26:59 +01:00
Mateusz Jablonski
815ae851b7
Graphics Allocation: store task count per context id
...
Move definition of allocations list method to internal_allocation_storage.cpp
Change-Id: I4c6038df8fd1b9335e8a74edbab33b78f9293d8f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-06 12:43:47 +01:00
Zdanowicz, Zbigniew
8504b37a08
Add branch prefix to unit_tests/gen_common subdirectory
...
Change-Id: I7661dbd8a65aaa50c21afb982b23edb9080d6f84
2018-11-01 00:15:04 +01:00
Mrozek, Michal
200228b506
Replace cpuPtrAllocated flag with driverAllocatedCpuPointer.
...
Change-Id: Ic0ce165d0e583701e1128595a3d9dabd0a61a84b
2018-10-31 12:37:20 +01:00
Mrozek, Michal
7ece16ee7a
Graphics Allocation cleanup.
...
- remove one constructor
- start using mock graphics allocation in tests
Change-Id: Idb8f4a35dbc2cae8d6bf667bab5542d8e91d6e0d
2018-10-31 11:54:24 +01:00
Mateusz Jablonski
a30c70d84b
Remove cleaning allocation lists methods from memory manager
...
Change-Id: I4a58a5373e7dc4cf8dc5d90390e84c4f23689139
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-29 10:35:03 +01:00
Mateusz Jablonski
d5c9816428
Remove store allocation methods from memory manager
...
Move setGPUAddress method to WddmAllocation
Change-Id: I91d877c3791e9eff69276e4258e3ce9c3111ca45
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 10:53:43 +02:00
Mateusz Jablonski
129380c1a6
Cleanup host ptr manager
...
Change-Id: I0fc9df41a08255eef8072666c1c5c16806e0f7cf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 08:26:38 +02:00
Mrozek, Michal
7319023b0f
Add capability to use malloc for Heap32 base.
...
- shift page tables to lower bits
Change-Id: I54dcba72255215cf5be75ba425fc27727b0bfd98
2018-10-25 16:20:00 +02:00