Commit Graph

104 Commits

Author SHA1 Message Date
Mateusz Jablonski c858a2b79f Refactor configuring device address space logic:
1. call GmmSetDeviceInfo
2. call ConfigureDeviceAddressSpace
3. obtain min address - only for gen12lp platforms

remove getConfigureAddressSpaceMode method

Resolves: NEO-4076

Change-Id: Ib72789c834df1307a3d105131943dcf9a54afc03
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-01-07 11:57:58 +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
Zbigniew Zdanowicz 58fa5bd347 Add separate methods to Wddm interface to create monitor fence
Related-To: NEO-3639

Change-Id: Id1216def65c873028eb6a577fa30ad68ebec8f19
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-12-19 13:38:19 +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
Zbigniew Zdanowicz 2b0db66c52 Add getter to query Wddm version
Related-To: NEO-3639

Change-Id: If066f954827982dcc388f3f0ea241dbc98e824ea
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-12-17 15:27:48 +01:00
Zbigniew Zdanowicz 37a690a185 Destroy WDDM monitor fence during OS Context cleanup
Change-Id: I654bc28891bcd1ec23fa18a07bef79a98edbce2e
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-12-16 14:05:07 +01:00
Mateusz Jablonski c7755c2c48 Move files to core
engine_node_helper
kmdaf_listener
wddm_engine_mapper
windows_defs

Related-To: NEO-3982
Change-Id: Ia39342059bdeafa97d17f286c167138e5c40553c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-11 17:39:14 +01:00
Mateusz Jablonski 5fa53f4516 Move headers to core
- address_patch.h
- options.h
- registered_method_dispatcher.h
- grf_config.h

Rename OCL_RUNTIME_PROFILING -> KMD_PROFILING

Related-To: NEO-3982

Change-Id: I06cf72729e9d7d7d2ff0bd169fcbada00c4b509a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-10 12:19:29 +01:00
Dunajski, Bartosz dfc50f3a75 Move gmm_helper to core
Change-Id: I31ca317d10697ab884e04f443c8ccfdd6ca9d2ae
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-04 15:25:32 +01:00
Mateusz Jablonski 54f65c0243 Move headers to core
- hw_info
- hw_cmds
- kmd_notify_properties
- completion_stamp
- bxml_generator_glue

Related-To: NEO-3982
Change-Id: I3ed3ef81f42596f381e60c19250f6eb1296d47a4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-02 14:20:45 +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
Mateusz Jablonski 13921f698e Move files to core
- OsLibrary class
- sku_info directory
- gmm_lib.h header

Change-Id: Ia86280e61cd2913c546afc40c3751b42e04ab137
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-19 16:19:52 +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
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
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
Michal Mrozek 1580a936b6 Make sure we hint as OpenCL.
Change-Id: I11b75b9e627651d9ee56ce58864cc4520ee82bfd
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2019-10-24 07:57:23 +02:00
Michal Mrozek 0bb2458dab Fix svm size programming.
-Base it on max64BitAppAddress.

Change-Id: Id68d12b50b798c5a750a3273963982d4315bd776
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2019-10-21 19:32:59 +02:00
Mateusz Jablonski fcf2387398 Add tests for selecting KMD adapter
Related-To: NEO-3007

Change-Id: I040662e68dccf574b14ecffa02f5427f6ef1899b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-10-10 12:06:41 +02:00
Andrzej Koska 0ae977015d Adding a debug variable to select a test device
Change-Id: Icf28d456590d532db44119d95be35ec6933a2647
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-3239
2019-10-09 14:25:41 +02:00
Mateusz Jablonski 5d640e7100 Remove multiOsContextCapable flag from GraphicsAllocation
Change-Id: I3ebeef39befdc2a3e0f9d7d76ae531622ecf1a42
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-09-13 13:55:42 +02:00
Dunajski, Bartosz c0c6a46ece Wddm 2.3 improvements
- Dont create synchronization object manually - take it from HW queue
- Construct MonitoredFence from HwQueue object
- D3DKMT_SUBMITCOMMANDTOHWQUEUE should get currentFenceValue
instead of its handle
- Dont pass MonitoredFenceVa/Value in cmd buffer header

Change-Id: I4717119379cef2f0e641ce9f4ef614089491a85d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3728
2019-09-13 10:27:04 +02:00
Maciej Plewka 7827501b91 Add returned status to MemoryOperationsHandler
Change-Id: Ic8685e3711cec03d8f83d371fa7152ee095a47a0
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-09-02 08:42:50 +02:00
Zbigniew Zdanowicz f01c1d2d49 Add residency mechanism to OS interface
Change-Id: I323ca856d3c901bdc4d5961cdefa42685b53d4d9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-07-19 13:35:11 +02:00
Mrozek, Michal fe26b0b406 Move debug_manager_state_restore.h to core.
Change-Id: I3ef4a1aec40efa4bbc8346a5b517336c42c06519
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-15 17:21:38 +02:00
Jobczyk, Lukasz 8fca10095e Remove redundant calls from Wddm::init()
Resolves: NEO-3331

Change-Id: I91dc2f170b9feecb9f84f447a9694fdb9b3a03b3
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-07-09 15:10:18 +02:00
Jobczyk, Lukasz 329d940285 Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242

Change-Id: If31adaead389acd3bef6af1931b91396c43b305e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-14 06:59:28 +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 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 Hoppe 5c0c1f77f9 Pass AllocationProperties to createGraphicsAllocationFromSharedHandle()
- only extends interface to MemoryManager

Change-Id: I585d91be95abd50e11eedb53e2acfa3f66491d44
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-02 08:55:38 +02:00
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
Jobczyk, Lukasz ee1854bfe8 Reverse logic of creating Memory Manager - part 4
-Remove a redundant parameter from WddmMemoryManager constructor

Change-Id: Ied9118d136e7d1f3e93b1bb6ce0e29d748bdbe01
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-25 16:14:51 +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 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
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
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
Stefanowski, Adam 341fcfc091 [1/n] Move Hardware Info to Execution Environment
- remove gmm_environment_fixture
- remove hwInfo parameter from ExecutionEnvironment methods

Change-Id: Ieb0f9b5b89191fbbaf7676685c77644d42d69c26
Signed-off-by: Adam Stefanowski <adam.stefanowski@intel.com>
2019-03-12 08:39:26 +01:00
Mateusz Jablonski 5b22a50b28 Allow to create WddmAllocation with multiple handles
Change-Id: Iac9df91b08a6ce610b985586dfb6b5f63dc668cb
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-07 13:29:00 +01:00
Mateusz Jablonski e721f7c08c Cleanup Wddm interface 3/3
don't pass the entire WddmAllocation when only handle is needed

Change-Id: I208a64c81767589a2ac8aba0e717d54426209ecd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-06 10:03:38 +01:00
Mateusz Jablonski 03527f496d Cleanup Wddm interface 1/n
pass const D3DKMT_HANDLE * to makeResident/evict/destroyAllocation calls
remove gpuPtr from WddmAllocation

Change-Id: Ia5ca162946a2d893d4f56c37f8027eab02af90b0
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-05 17:28:29 +01:00
Dunajski, Bartosz 0939743874 Pass OsContextWin object during Wddm context creation
Change-Id: Iba8d801bb6af4e9d28681caddb9c487500a42c8c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-04 09:11:59 +01:00
Dunajski, Bartosz 86dabbf6d5 Improve OsContext construction
Change-Id: Ibf9293344cc5c0ae1b2cc011e87d9e3626f3a066
2019-03-01 08:35:38 +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 e11b7675d5 WddmAllocation constructor accepts allocationType.
Change-Id: I1e561b11e78dd942e04f3b029739921d0929ceed
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-28 11:59:16 +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 ce77425428 Add support for reserveGpuVirtualAddress.
Change-Id: I068df0dd3b2064cdb93be1c4408eeb86ff264d2f
2019-02-26 12:01:17 +01:00
Piotr Fusik 4ec5be0c99 Simplify code by removing AllocationOrigin.
Change-Id: Ie73cefc1ae1ee846fb9a5ef1054af01cd1867a4d
2019-02-21 16:29:05 +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