Commit Graph

283 Commits

Author SHA1 Message Date
Mrozek, Michal 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
Koska, Andrzej 987264bdb4 Removing checkedFragments parameter
Change-Id: I2396cc133fbe6737176498c2c81fc1f856cee510
Related-To: NEO-3172
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-06-04 12:07:22 +02:00
Mrozek, Michal 14b8bbb3aa Add capability to query internal handle from cl_mem.
Related-To: NEO-3252

Change-Id: I935c308dfa3f77c6d965df7316fe3fb4c21b112a
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-03 13:40:08 +02:00
Milczarek, Slawomir 17f9cc006d OsAgnosticMemoryManager to call freeMemory on AubManager
Resolves: NEO-3231

Change-Id: I89a3cc9f2a63931c6c87ec70bbedc19716a885c1
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-29 18:09:49 +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
Mrozek, Michal edb78834cb Move allocateGraphicsMemoryInDevicePool to Os Agnostic memory manager.
Change-Id: Ica179986f401b99e61c3485d549790489cbb1fd5
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-05-25 02:12:16 +02:00
Pawel Wilma b64210d3db Add local memory usage selector in memory manager
Related-To: NEO-2906

Change-Id: I3172e9551b8d06437c273b122dc6e9d529155b5c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-05-23 11:05:36 +02:00
Jaime Arteaga 34013c03fc Minor refactoring to allocateSystemMemory and selectHeap
Change-Id: I2cf3917d56773535b7a06a7d091c14c4320ef734
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-05-20 07:41:17 -07:00
Dunajski, Bartosz 4f4ef14b9b Accept different copy directions during blit operations
Change-Id: Idb59458b46337ca0095056857dbd75bf116b6723
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-16 18:53:30 +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
Milczarek, Slawomir cc6a94b5b6 Fixed TBX with AUB dump mode without AubStream
Related-To: NEO-3150

Change-Id: I9ee7fc3c44f3021c61db7c27c01522cbe7d7445d
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-10 14:23:17 +02:00
Hoppe, Mateusz 97245a2ca6 Refactor MemoryManager::allocateGraphicsMemoryInDevicePool
- create MemoryAllocation for OsAgnosticMemoryManager so that
freeGraphicsMemory is freeing correct object type
- other memory managers do not go this path

Change-Id: If2ada9b77bb4a41d09f82b79502594e0eda9f11b
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-10 13:14:08 +02:00
Dunajski, Bartosz 67d39b19db Add pitch programming to Blit dispatch and align max width to cacheline
Change-Id: I37a15ddc64c9e41cd4cd718133b17d572bb71ba2
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 16:08:06 +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
Mateusz Jablonski cadc461712 Create storage info while getting allocation data
Related-To: NEO-3127

Change-Id: I716a1d5624cf34d74bafd8c9ab3f5cc5ded43275
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-07 14:17:34 +02:00
Mateusz Jablonski 42e255969a Move createStorageInfoFromProperties method to MemoryManager class
Change-Id: I09bbc19aeb377d8fabfe144920c6377cf68066d2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-06 11:30:37 +02:00
Filip Hazubski ddcd3fbbed Simplify getAllocationProperties
Change-Id: I006337ec700e50259c46be1fd73fde34562c8b83
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-26 15:47:22 +02:00
Piotr Fusik 92584d8c64 Minor cleanup.
Change-Id: I0f345c4fbf49f6464dce7bafd8b8d59347ff2d77
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-26 14:34:58 +02:00
Venevtsev, Igor 188c0797b6 Revert "[2/n] Use GfxPartition for 32-bit allocations - DrmMemoryManager"
This reverts commit 1ce2f9564a.

Related-To: NEO-2877

Change-Id: Id17e0bce560ed1d934412067f9e41d39c529018f
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-25 10:34:32 +02:00
Venevtsev, Igor 1ce2f9564a [2/n] Use GfxPartition for 32-bit allocations - DrmMemoryManager
Related-To: NEO-2877

Change-Id: Ic57d1e2cfb2629f50c6fd16e71861e8ee47f2b10
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-23 14:05:17 +02:00
Filip Hazubski fae1d882f8 Add SvmAllocationProperties
Change-Id: Ie96aeab5597a1b3f2db8611a8a04597516730ce8
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-23 10:30:04 +02:00
Venevtsev, Igor f77cd94cd5 [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: Ie3d94f68d5c9958b0b7bade600b964b778aeb4cf
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-18 16:41:38 +02:00
Mateusz Jablonski 6e97a69a2b Remove allocation type UNDECIDED
Resolves: NEO-2733

Change-Id: If6102ca04f557feeedaf702fa0d9f63c79017fe4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-18 15:13:09 +02:00
Mateusz Jablonski 1d42fe169a Add allocation types for MCS, preemption and shared context image
Related-To: NEO-2733

Change-Id: I3e3e4ea6d4fe084c8c32c0e24c537c9131ce1e60
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-17 14:41:01 +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
Venevtsev, Igor 2ca97d3881 Introduce MemoryManager::getExternalHeapBaseAddress()
Related-To: NEO-2877

Change-Id: I4307224c3be9609f7fc60d7fcb4f91ccdc8a9883
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-16 13:30:10 +02:00
Mateusz Jablonski beceb6aedb Fix logging allocation while changing allocation type
Change-Id: I7d1774e8b9cfcaec68415318ec357bbf8255a311
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-16 11:09:38 +02:00
Mateusz Jablonski 1e11d8939f Add new allocation type for device queue's allocatons
remove not used mustBeZeroCopy flag

Related-To: NEO-2733

Change-Id: I8b8faf4e2d46249f897a06170dd777193c7f8729
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-16 10:34:18 +02:00
Mateusz Jablonski ca18ce41a4 Use TAG_BUFFER type for tag allocation
sort usages of allocation types in switches

Related-To: NEO-2733

Change-Id: Ie44ea10733af28e9a15c3fcf749e51c29d39a66e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-15 14:19:32 +02:00
Venevtsev, Igor 3a008fafc6 Revert "[1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager"
This reverts commit 2bb451e76d922861673e052f5f889658ac7db15f.

Change-Id: I1deada59a291a96ef88c8b9b4f2b28861ad27347
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-12 20:59:40 +02:00
Zbigniew Zdanowicz 971cbd55f3 Add new SVM types
Related-To: NEO-2917

Change-Id: Ica127129799c1e617a326a110348c2f70160b15c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-11 15:27:38 +02:00
Adam Cetnerowski fa41412c44 Don't have return value in setDefaultGmm
Related-To: NEO-2421

Change-Id: I4ac8514c7dceeab762231c4021e77da1a1df7f1c
Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2019-04-10 16:14:19 -07:00
Dunajski, Bartosz ccd93e1ea8 Add method to dispatch blit operation from hostPtr to Buffer
Related-To: NEO-3020

Change-Id: If76f2c659c3ee343693a6d3ced86a47d7ed0bf61
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-10 15:17:44 +02:00
Venevtsev, Igor fac6ddaebc [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: I13621bc984e8bb92bea82c07044d9a40bc9ca550
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-10 12:58:26 +02:00
Zbigniew Zdanowicz e201725dd5 Add dedicated map allocation
Related-To: NEO-2917

Change-Id: Ieeca40f5faf29433a5c464d2c3ca3b8910695a9b
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-09 16:16:31 +02:00
Mateusz Jablonski fc86445079 Use MemoryProperties to setup cache policy for images
Related-To: NEO-2535

Change-Id: Ieb311cef1560d09c099b713d2cc81afb886cfc56
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-08 13:22:13 +02:00
Mateusz Hoppe 7a7cb3d33a Set correct AllocationType in createGraphicsAllocationFromSharedHandle
Resolves: NEO-3077

Change-Id: I893544f4bfc19ffa8f49878bc9b44df4820cd619
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-08 08:19:55 +02:00
Venevtsev, Igor 56770408ae GfxPartition always allocates GPU addresses above heap base
Related-To: NEO-2877

Change-Id: Id4f57ab2489faf09984a616de78655b399e127a4
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-05 16:19:52 +02:00
Jacek Danecki 4b2bb188b7 Add support for Gen11 platform
Related-To: NEO-2388

Change-Id: I4da92efe7f875f409cd62519a31ed4509b55bda7
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2019-04-05 14:28:55 +02:00
Pawel Wilma 37bcc99cd2 Class for local memory bank selection based on usage
Related-To: NEO-2906
Change-Id: I8b9cae5191da6344ee8d4f0cf7125f95d0bc6b35
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-04-04 17:21:02 +02:00
Filip Hazubski f6f5d19704 Simplify getAllocationData
Change-Id: I6ffb79ac76b8566b17dab9bd9311db567352d807
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-04 16:50:01 +02:00
Mateusz Jablonski e8259ecf2c Move AllocationProperties to separated header
Related-To: NEO-2860

Change-Id: Ibbc99a60c04ec75d75bf8c3a36d585a07b7f45c2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 16:22:10 +02:00
Mateusz Jablonski ad62e32f76 Remove redudant AllocationProperties constructors
Related-To: NEO-2535, NEO-2860

Change-Id: Iea3061b7a3f9567b6ea8bc3a9ea49651c5f0fcdd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 15:20:27 +02:00
Mateusz Jablonski 6e7f82c315 Obtain storage info internally, in allocateGraphicsMemoryInPreferredPool
Related-To: NEO-2860

Change-Id: Id7acb10793f3145238f6b930b4c64c20c87a1021
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 11:43:31 +02:00
Mateusz Jablonski 3abfb7cb3f WddmMemoryManager: move logic of handling too low host pointer
Check malloc restrictions in method that allocates memory using host ptr

Related-To: NEO-2860

Change-Id: If1471c410d9a68e1ebacc6379682bfe98d0d75fe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 08:04:49 +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
Mateusz Jablonski b4ed5468a2 Add device index to AllocationProperties
Change-Id: I3c9f7ea59bf85fbbc948ba23c2b1040f295f586c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-03 10:48:30 +02:00
Mateusz Hoppe b13bd16665 Add support for tiling mode selection to VA sharing
Change-Id: I459c472a4b8d74dba70df54c9da29865672114eb
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-03 10:06:42 +02:00
Dunajski, Bartosz 2243fc950b Improve waiting logic in HostPtrManager
Change-Id: Ib762a9604ad3d398044f289fa8a1aa4df2b4d37a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-03 08:47:49 +02:00