Commit Graph

90 Commits

Author SHA1 Message Date
Bartosz Dunajski 27f9a95af2 Refactor: Common helper for Blit and CPU memory transfers
Change-Id: Icc61f82517e75e3066e441494af3bf9a7ffbbeef
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-12 18:29:42 +02:00
Mateusz Hoppe 0e935b0e10 Add allowCapture flag to BufferObject
Related-To: NEO-5026

Change-Id: I69a9f270272a13fccdd1d8dd8b13ad03ef93cb79
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-09 17:04:43 +02:00
Lukasz Jobczyk a939c89d91 Create internal BOs with map offset
Resolves: NEO-5097

Change-Id: I842f3d482420373cc630d5bfc034e229fa2cb30c
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-09 16:38:03 +02:00
Bartosz Dunajski fb0651521d Linker: Fix incremental patching for local memory allocations
Change-Id: Ib85e4a2abc8a62477003853aa0c35f8107444f4e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-09 09:13:42 +02:00
Igor Venevtsev bd9695a19a Get rid of UNRECOVERABLE_IF in MemoryManager constructor
Related-To: NEO-5053

Change-Id: Ibf955c760e61e34c4d38cbb5071ef712bae1c518
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-10-07 11:18:56 +02:00
Andrzej Swierczynski bdf8c5fc90 Extend UnifiedMemoryProperties constructor to take device bitfield
Related-To: NEO-4722

Change-Id: Ice185f1792635922e9bb89cd7329e6501bc585e0
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-10-06 16:35:08 +02:00
Jaime Arteaga 9f9bf38d64 Copy user buffers when not accepted by Kernel
When performing copy operations to or from buffers allocated by the
user, it could happen that the buffer address is not accepted by
kernel, even though the buffer is valid. In those ocassions, then
allocate a new graphics allocation and copy the user buffer.

Change-Id: I6b1b6f2ef5fea0acf32c868bc87eafe8746f9a79
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-02 10:03:18 +02:00
Maciej Plewka e34c319ed7 Special address pool at External heap begining
Change-Id: I7da6e67010ff7a819aec25abea9213b6e43e348e
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-09-29 07:51:12 +02:00
Bartosz Dunajski 8db8b09339 Use dedicated helper to detect ISA placement requirement
Change-Id: I701c64b52fddfef1e493f4adaef4edc28f5ffdf0
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-22 13:30:12 +02:00
Mateusz Hoppe eb287d87d7 Register Allocations
Related-To: NEO-4964

Change-Id: I792dd7f7d6d594f51701ec7a40b2c0d36531b02b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-18 10:34:02 +02:00
Lukasz Jobczyk a528908cbd Unbind unused resources when running out of memory
Resolves: NEO-5052

Change-Id: I3a07221b800317c79e65396443933d13d334a274
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-17 12:59:45 +02:00
Maciej Dziuban 97ec64d22c Optimize first access to shared allocations
Change-Id: Ia3ce5f1e448128e7c9dfffb9ad49aaee15bdf948
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5059
2020-09-15 12:59:07 +02:00
Maciej Dziuban 7c7cfb1099 Delete unneeded memory transfer for USM
Change-Id: I7b11a132b621069febd5b851f9e29e7177d8d395
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5059
2020-09-14 16:13:58 +02:00
Zbigniew Zdanowicz 7d506e3608 Add debug flag to enable compression in L0 USM allocations
Related-To: NEO-5069

Change-Id: Icbfeb8d72cd764bb3c90d5c699998455f81dd3ee
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-14 12:47:33 +02:00
Jaime Arteaga 2527015bb8 Validate rootDeviceIndex before retrieving multiGraphicsAllocation
Change-Id: I4a5f6e8ae333e8daed13053fb2049fc5757736b5
Signed-off: Gengbin Zheng <gengbin.zheng@intel.com>
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-09-09 14:06:19 +02:00
Jaime Arteaga 5c1e60208e Share USM host pointers among devices (2)
Dont pin and instantiate buffer objects associated with a USM
allocation for device >0 at allocation time, but instead, just
do a USERPTR ioctl, as with the allocation associated with
device 0.

Change-Id: Ib37f379df177d14e9d2781a3ed6335cd9550cc87
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-09-04 12:10:06 +02:00
Vinod Tipparaju 083edd1a3e Thread safety violation fixes - Events & USM
Change-Id: I57de59f204d9fd4407be768d0b14bf579dae967d
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-03 08:54:34 +02:00
Krzysztof Gibala dcf708f2d2 Add proper ULTs to test createMultiGraphicsAllocation function
Related-To: NEO-4589
Change-Id: Ic78dee29f7715a6e5eff5b5c28f337452921d5b3
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-08-31 14:49:16 +02:00
Maciej Plewka a779e44b52 Support for dsh and ssh on external heap in L0
Related-To: NEO-4724

Change-Id: I85c2effea8a99bebaf9e3db33129641f37dcabe5
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-08-30 06:56:52 +02:00
Krzysztof Gibala 1c0e2430c5 Add createMultiGraphicsAllocation function in memory_manager
Related-To: NEO-4589
Change-Id: I0019437e565c06ac2494630182c4df685487853d
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-08-28 14:24:34 +02:00
Mateusz Jablonski 6870104a1a Pass maxOsContextCount to GraphicsAllocation
Change-Id: I4f327866433fe9b0cc0a6191336b54a9d2282702
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-26 09:57:15 +02:00
Igor Venevtsev 8a73b072b4 Share reserved CPU address space region among GfxPartitions
Related-To: NEO-4525

Change-Id: Id7534e317a10849c08ec29a090d782dcc4fabced
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-08-21 12:48:49 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Mateusz Jablonski fe163311b1 Pass maxOsContextCount to ResidencyData
Change-Id: If9cf4c9a153ee7afff3f6b66e061db4630d0c8f5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-18 17:45:10 +02:00
Koska 2a4af0b89b Adding handle verification
Change-Id: I46d6bd2dda46ace927cdfea5f47b0e614d5818f4
Signed-off-by: Koska <andrzej.koska@intel.com>
Related-To: NEO-4819
2020-08-06 16:36:39 +02:00
Krzysztof Gibala b65a41a8a5 Use StackVec in MultiGraphicsAllocation instead of std::vector
Related-To: NEO-4672
Change-Id: Ia7361d9bfb79f83f088e0ac236e769aa44ab84dd
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-08-04 16:57:54 +02:00
Jaime Arteaga 74ac02e1f3 Improve logic in addInternalAllocationsToResidencyContainer
Change-Id: I0be0082d2d70623867b691629cac09f5d653fc0d
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-07-14 18:51:55 +02:00
Krzysztof Gibala 6be8d332f4 Pass MultiGraphicsAllocation in Buffer 1/n
Pass MultiGraphicsAllocation in Buffer instead of GraphicsAllocation

Related-To: NEO-4672
Change-Id: I7fb05ab53f54875f41d90f480e7f930b3b9f2fda
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-07-14 16:50:39 +02:00
Filip Hazubski 2912cebbd4 Update Context::blitMemoryToAllocation function
Change-Id: I5f81cb023b75e82bd3aff8e393f6b9463c767112
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-07-13 15:23:51 +02:00
Andrzej Swierczynski 77f50e5444 Always pass device bitfield to AllocationProperties in constructor
Related-To: NEO-4722

Change-Id: Ie2475bf92a3189bcb9073bec5bf5af709e597c5d
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-13 09:00:10 +02:00
Jaime Arteaga a637c82c4e Share USM host pointers among devices
Change-Id: Ibdab580609e6bbb32b370ce6ee0b321df6d63245
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-07-10 23:06:06 +02:00
Bartosz Dunajski 1544453f24 Fix dumping allocations when BCS copy is allowed
Change-Id: I0d56e0d2e8007e7dc1686fab0e40502b658c254e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-10 16:53:47 +02:00
Lukasz Jobczyk ff0add74e3 Add alternative residency model on Linux
Related-To: NEO-4732

Change-Id: I79e165d2b647af200ca314e1183ecf05903de644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-10 12:38:57 +02:00
Mateusz Jablonski 1a1b4b1c26 Extend key to host ptr fragments container
use separated entries per root device

Related-To: NEO-3691

Change-Id: I26b85b8852b23e6a4d290da689174c59343536b3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-09 17:10:54 +02:00
Bartosz Dunajski 5c5d4b85e2 Pass HwInfo to setExtraAllocationData
Change-Id: Iba5433ca3de5f66ebb5ab4867607ec5fbb1cd464
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-09 12:09:02 +02:00
Mateusz Hoppe b3249c244b Make MemoryManager methods pure virtual
Related-To: NEO-4829

Change-Id: I97d0ef07bd26dac9869e61b5ff22064ea08596a8
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-08 12:00:09 +02:00
Mateusz Hoppe fea4472553 Allocate per-context memory with specific GPU VA
Related-To: NEO-4829

Change-Id: I821f6709bfa98df3b51a1c966b7a953752d85f74
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-07 09:14:10 +02:00
Mateusz Jablonski 3928205db1 Remove not needed assignment operator
Related-To: NEO-4672
Change-Id: I5351b799b87dc79689d865034f4a216aae1d6b8b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-06 13:56:33 +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
Bartosz Dunajski 6dd07bd3bc Use correct Heap32 index for local memory allocations
Change-Id: I068f712ab2b05ee3d5a9716b21de685a7fee3a02
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-01 17:31:43 +02:00
Mateusz Hoppe 5eafc349c9 Introduce SBA tracking buffer allocation
Related-To: NEO-4637

- allocate sbaAllocation in L0 debugger

Change-Id: Ia1be1ad637bbdd6e7f12ca6fdfb0c486ba23a040
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-01 09:46:05 +02:00
Jaime Arteaga 8113fafe53 Disable cross-device indirect access
Change-Id: I57655abfc02785dfd68384a1546ee4cfdbea938a
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-30 21:42:47 +02:00
Mateusz Jablonski c96fd30e4c Pass root device index to Buffer::setArgStateful
Related-To: NEO-4672
Change-Id: Ic846eac488809bd7d9534bb7378d9398acd36451
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-30 15:26:55 +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
Mateusz Hoppe 5bd5784559 New AllocationType for debugSurface
Related-To: NEO-4797

Change-Id: I851b6cc5b33fb286bea9d175506e932339701f93
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-24 16:16:04 +02:00
Andrzej Swierczynski 5d24d51ea6 Correct tests: pass valid device bitfield [4/n]
Related-To: NEO-4645

Change-Id: Ib105d811711b7a4fdfad91ac93606cfdeb6d4ccb
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-18 16:18:56 +02:00
Maciej Dziuban 7ef2e4304c Rename levelNotReady to notReady
Change-Id: Id482c6edd36d1bdd63558aa35f13dbb57e0efbad
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-06-17 15:47:00 +02:00
Igor Venevtsev 3859e13322 Split large allocations on Windows due to Wddm limitation
Resolves: NEO-4479

Change-Id: Iffb862a93570a60c2126620d9e5106359acba64a
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-06-17 12:47:54 +02:00
Maciej Dziuban 3d919ed96c Do not check tag value for temporary allocations
Related-To: NEO-4624
Change-Id: I74ac6b0d4b9a7de689e68b12c23f7baa40f25304
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-06-15 16:38:47 +02:00
Kamil Kopryk dadbd5a09f Add debug flag to override bank index in local memory bank selector
Change-Id: Ie85129fc7cbdeb9cfa88b401430f983c096a868f
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-06-09 15:04:37 +02:00