Commit Graph

330 Commits

Author SHA1 Message Date
Jaroslaw Chodor f057712fa7 Program refactor
* decouple program_info
* move global allocations relocation to linker
* remove obsolete tests
* initial cleanup to kernel_info kernelInfo
* unified patchtoken validation

Change-Id: I0567cd6d607b4f3cf44e6caf33681f6210760f76
2020-01-25 10:56:30 +01:00
kamdiedrich 39198dfda2 Add flag for forcing usage of hostPtrTracking
Change-Id: I1a7c27145fcb23a54d49edf24659225621dd4496
2020-01-24 15:54:31 +01:00
Michal Mrozek 94ebf4ac23 Allow device allocations for transfer calls.
- make sure that transfer is not handled via cpu.

Change-Id: Ieffb1d8920b72d44cbe108410c00f76f4b110d83
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-01-24 14:24:14 +01:00
Jaime Arteaga 0abd52fe9b Remove GraphicsAllocation::additionalData
Change-Id: If128761a29e487edab4eed4f0e3de79563a482b0
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-01-24 12:09:44 +01:00
Michal Mrozek 98006aa2bf Add support for SVM pointer reuse to enqueueReadBuffer.
Change-Id: I7a6718b2ebe48912a19af3da5e233acd84bdd3ef
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-01-23 11:09:13 +01:00
Michal Mrozek ac4041d906 Add more robust validation of inputs.
- prevent USM device pointers on transfer calls
- prevent pointers that do not hold enough storage to service transfer.

Change-Id: I678808c034f708e9d0ae477d632788aae7f70452
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-01-23 10:00:00 +01:00
Michal Mrozek 35b59b7cbe Reuse SVM storage on writeBuffer call.
- Instead of creating new allocation, look if it already exists if so
re-use it.

Change-Id: I23bc4ac8b8e59e96fce7d48546b76289bedc157f
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-01-22 15:31:48 +01:00
Mateusz Hoppe 3c89cfc753 Move os_interface files to core
Change-Id: Ie708a944130884248499091854ebc483953fa828
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-22 14:50:51 +01:00
Mateusz Hoppe b5e2f322f6 Move files from runtime/memory_manager to core
- remove TbxMemoryManager

Change-Id: I554feff51f08e108b2e9ee22ecaa2cb75a1eead7
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-21 15:28:47 +01:00
Jaime Arteaga 48a87cb675 Enable shareable buffer support (2/N)
Add shareable flag to UnifiedMemoryProperties.

Change-Id: Ia2767eaec183ad2b0f3fb6b64da4ba343f581fda
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-01-20 10:50:33 +01:00
Filip Hazubski 8fcff2241f Add ClDevice
Decouple cl_device_id from Device class.

Related-To: NEO-3938

Change-Id: I68543a753aea562f3b47ba0d23a059ff3cffa906
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-01-17 12:43:11 +01:00
Jobczyk, Lukasz 172e75147e Make OsInterface root device specific
Related-To: NEO-3857

Change-Id: Ibcd80c731b5d3755b62e0e03d0ffeedb08b52ca0
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-01-15 11:07:25 +01:00
Pawel Wilma 1fca390c15 Add missing aub and log settings for MAP_ALLOCATION
Change-Id: I8a856cadcdf95b2b39fde573e054afbe0dc55fd2
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-01-14 13:59:54 +01:00
Mateusz Hoppe 01d8532f52 Move files to core
- wddm_allocation.h/.cpp
- os_context.h
- residency_container.h

Change-Id: I9f933a09d1142f86550c0d67626f0719b6450303
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-13 18:25:00 +01:00
Mateusz Hoppe d7cb5539ec Move isCopyRequired() from Image to MemoryManager class
Change-Id: I3762bc9d23309f47717a05df2a0e60157d09c77c
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-13 14:49:19 +01:00
Igor Venevtsev 0428d07d6e Add HEAP_EXTENDED to GfxPartition
Related-To: NEO-2941

Change-Id: Ifdfe3e179823317aeacb1e55f4cf93219a8c9ba0
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-01-09 16:49:55 +01:00
Pawel Wilma 551f91fd7e Do not use non-SVM host ptr in 32bit driver
Change-Id: I97fe58a62b7cab09f6395cfa6149f9d70302a4ad
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-01-09 12:04:35 +01:00
Jobczyk, Lukasz 4119dce873 Exclude page fault manager ULTs to separate target
Resolves: NEO-4074

Change-Id: Iae1de38589fbc7a504be87ccde9c53b436673d72
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-01-08 04:18:05 +01:00
Mateusz Hoppe f0905554aa Move files to core
Change-Id: If83c08a0c32686fc15e8c73f44fd7e538bc8a58b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-07 16:53:35 +01:00
Mateusz Hoppe 51f7ca1601 Move files to core
- runtime/gmm_helper files
- engine_control.h
- allocation_properties.h

Change-Id: I108888d639c8fdb298eda00fb1e7961b2ccb26cd
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-02 15:57:05 +01:00
Mateusz Jablonski 10d274daa9 Pass GmmClientContext to Gmm and GmmResourceInfo
Related-To: NEO-3007
Change-Id: Ia590670e93ed93b0941d5a5dc6ac010268cb561e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-31 12:19:32 +01:00
Jobczyk, Lukasz 44a9ec5c1a Make MemoryOperationsHandler adapter specific
Change-Id: I978ecaf0fbe3cfc3b645b84d978b7d9234b28bd1
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-12-30 19:26:19 +01:00
Jobczyk, Lukasz eac48002ab Calculate a maxOsContextCount variable
Change-Id: I7b2f7733be74abf4ae299396d616b249b67de58e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-12-23 12:24:40 +01:00
Andrzej Swierczynski cc46cdf46c Move PageTableManager to RootDeviceEnvironment
Related-To: NEO-2285
Change-Id: I77699b5f540b6ac5b73cf1830712a5591326b766
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2019-12-19 12:26:45 +01:00
Jobczyk, Lukasz bfa1164675 Make unified memory allocations multistorage resources
Related-To: NEO-2998

Change-Id: I61e831568a6bbf6e751d7a2ef9c7171c633a128a
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-12-19 11:06:17 +01:00
Pawel Wilma 2ad089a40b Create MAP_ALLOCATION as non-svm allocation when host ptr tracking is disabled.
Change-Id: I57c64706e798efa4b23e34b582be5a490d592e87
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-12-19 10:50:07 +01:00
Jaime Arteaga e02162d301 Enable shareable buffer support (1/N)
Define method to allocate memory in SKL using
DRM_IOCTL_I915_GEM_CREATE.

Change-Id: I3106c690eaa6ce089a21100a1839c4886580f9c0
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-12-18 22:13:14 +01:00
Igor Venevtsev 8a059e636a Add ULTs to check rootDeviceIndex correctness in internal GraphicsAllocations
Related-To: NEO-2941

Change-Id: I76cfae48ef88fece6fd59453493f499dbf89f43b
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-12-18 14:50:10 +01:00
Krzysztof Gibala 03252ee9fe Add support for write combined in unified memory
Related-To: NEO-3374
Change-Id: I610ad2d71b056f2bc5b8f4bda72e7f08a45cf59d
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-12-16 08:59:40 +01:00
Mateusz Jablonski ab2134ae8f Change subDeviceIndex to subDevicesBitfield in allocation properties
Related-To: NEO-3691
Change-Id: I11d235107bf9b4cee75b910c114795b5df76d9c7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-11 15:15:04 +01:00
Gibala 5ac1d1258c Connect UnifiedMemoryProperties with MemoryPropertiesFlags
-Add support to SvmAllocationData
-Refactor parseMemoryProperties
-Add allocation flags

Related-To: NEO-4011
Change-Id: I3728d2319aeef983dbcc3f8702da9a303a4e2b9c
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-12-09 14:23:46 +01:00
Jobczyk, Lukasz ac0471adc5 Remove padding allocation
Change-Id: I0017640ee22b687af1d85fa10d221d2b3cafed0a
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-12-09 13:39:39 +01:00
Pawel Wilma 632134db30 Disable host ptr tracking for GEN12LP
Related-To: NEO-3661

Change-Id: I1774aad8ef32f294192a9b679cb9f66e4091198c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-12-06 11:57:32 +01:00
Dunajski, Bartosz 614156dd8b Move cache_policy to core
Change-Id: I16be70d15f329117539fe6dfcc07c6dc10d54977
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-03 14:53:49 +01:00
Filip Hazubski 2ead0e6910 Update Device::getDeviceBitfield()
Related-To: NEO-2712

Change-Id: I609f55c9a0ee637dcef7cb176728f2ae65499a58
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-12-03 12:45:23 +01:00
Michal Mrozek b937b54064 Remove 32 bit code.
- Enable local memory in 32 bit scenarios.

Change-Id: I091570a3d0aa6043febf2721480196425e058978
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2019-11-28 17:50:42 +01:00
Filip Hazubski 0193b3ea69 Change maxNBitValue to a constexpr function
Now maxNBitValue can be used with run time variables.

Change-Id: I323071400305e05e6303a33e24e90c521246d73f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-28 14:40:16 +01:00
Pawel Wilma a08fb12c4c Revert "Disable host ptr tracking for GEN12LP+"
Related-To: NEO-3661

This reverts commit 8f6a390a2f.

Change-Id: Ib17543e2c2c7e47c92bbc010d376dd53c6116b59
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-11-28 13:02:07 +01:00
Pawel Wilma 8f6a390a2f Disable host ptr tracking for GEN12LP+
Related-To: NEO-3661

Change-Id: I969bc70efc65b167996329ea02a29134ffc1ef8c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-11-27 14:25:55 +01:00
Pawel Wilma 472a75912d Return error code from submit() to application.
Related-To: NEO-3741

Change-Id: I0e0ff6606eb6a8a77673949955c8e799689017b6
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-11-26 12:42:47 +01:00
Mateusz Jablonski e7ee6daaa0 Remove runtime/gen_common from include paths
Change-Id: I4d1f9e64e0f4099e7903234e62b070ad4235347a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-19 13:37:34 +01:00
Mateusz Jablonski 3e1b15c31d Move initialization of AubCenter to RootDeviceEnvironment
make RootDeviceEnvironments vector of unique_ptr

Related-To: NEO-3857

Change-Id: I23998502198307c8535cdd5c9c4af5223a5d69a5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-19 11:30:16 +01:00
Zbigniew Zdanowicz b31e25dbb6 Move PreemptionHelper class to core
Change-Id: I172c4beb8ea2576505d6192585d45cfa3d00da34
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-11-18 23:59:28 +01:00
Igor Venevtsev 63fd26f6d6 Always specify rootDeviceIndex for graphics memory allocations
Related-To: NEO-2941

Change-Id: Ia2362fd6b4e72ede02919152475f40b3edbc3658
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-11-15 15:14:41 +01:00
Filip Hazubski 5f021afd6d Move HwHelper to core directory
Change-Id: I2c78a8b737ee8e61b917b4918da37e77bbd9fe34
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-15 14:06:40 +01:00
Mateusz Jablonski 5a8f455a84 Remove csrsContainer from root device environment
improve mocking:
- add method to create RootDevice in Platform
- add method to create SubDevice in RootDevice
- add method to create CommandStreamReceiver in Device

Related-To: NEO-3691

Change-Id: Ie9fe3de260492604333c8ca93796bfbffae518c4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-13 10:05:09 +01:00
Jobczyk, Lukasz 7b7ac67e47 Extend an allocation properties constructor
Related-To: NEO-2998

Signed-off-by Jobczyk, Lukasz <lukasz.jobczyk@intel.com>

Change-Id: Ia2a99ff3bae574cc0cc40a973a30bdca126fe12d
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-11-12 16:21:54 +01:00
Igor Venevtsev 684d58d2aa Make GraphicsAllocation constructors unambiguous
Related-To: NEO-2941

Change-Id: Iedd16d0dcb4158b5e7832043289e2e6aba1549d5
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-11-06 10:12:26 +01:00
Mateusz Jablonski 5e56c8e25d Correct validation of allocation usage before freeGraphicsMemory call
when allocation was used but not by registered engines then we can destroy it

Related-To: NEO-3857

Change-Id: Ibf6a92603e9317d3355283adecd5e156d7b5ab0a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-05 14:33:18 +01:00
Igor Venevtsev fed673861f Add multiple root devices support to memory manager
Related-To: NEO-2941

Change-Id: If4977c19dbd083f2d1559a40f9b4e911eab4859c
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-10-31 14:30:19 +01:00