Commit Graph

245 Commits

Author SHA1 Message Date
Piotr Fusik e29c0b9726 Many DRM context ids per OsContextLinux.
Related-To: NEO-3008

Change-Id: Id6d1c919109d22ccfc64abdaf11aef875dc33615
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-12 14:54:44 +02:00
Igor Venevtsev 6dc4e9e775 Canonize graphics allocation base address in DrmMemoryManager
Related-To: NEO-2877

Change-Id: Id07dbef3b184660d95f91cb77361554049f02140
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-07-11 17:02:17 +02:00
Milczarek, Slawomir 6b77f94275 Extended DRM memory manager with function to copy memory to allocation
Related-To: NEO-2687

Change-Id: I2cd20c1d59dc0c28609fca7a11a5d805e2f21de4
2019-07-10 11:02:21 +02:00
Venevtsev, Igor d724b9ab11 Fix mmap in OSMemory::reserveCpuAddressRange on Linux.
Related-To: NEO-2877

Change-Id: I2e7221ec84d6d1efc2cfd9e02ca1e23d0de5cab9
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-09 14:43:35 +02:00
Igor Venevtsev 5735e2e715 Decanonize GPU address before pass it to GfxPartition::freeGpuAddressRange
Related-To: NEO-2877

Change-Id: Id29c9f577d7026a44d756b3f8e939917b7d6c7d4
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-07-09 09:56:57 +02:00
Venevtsev, Igor 4403796f58 Use GfxPartition for GPU address range allocations
[4/n] - Remove allocator32Bit

Related-To: NEO-2877

Change-Id: I0772a7fe1fda19daa12699c546587bd3cdd84f2c
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-08 12:09:07 +02:00
Mrozek, Michal 5a0be86b04 Ensure structures are properly initialized.
Change-Id: Idc5feda9147abdefc3d864744e73d88111884eea
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-05 10:43:59 +02:00
Piotr Maciejewski d1d794c658 Metrics Library Performance Counters implementation.
Signed-off-by: Piotr Maciejewski <piotr.maciejewski@intel.com>
Change-Id: I0f00dca1892f4857baaebc75ba2208a4f33db1bf
2019-07-04 15:56:47 +02:00
Igor Venevtsev 10799ea0ed Use GfxPartition for GPU address range allocations
[3/n] - DrmMemoryManager

Related-To: NEO-2877

Change-Id: If7aa5f7e0d774f0c8b1c01cf6b14ee22374987d3
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-07-04 12:14:00 +02:00
Milczarek, Slawomir 2e7696121b freeGraphicsMemory to call freeGpuAddressRange on gfx partition
Related-To: NEO-2687

Change-Id: Id4ded6f5b443fb30c795cb8fab4bedda2fd66469
2019-06-28 15:38:29 +02:00
Mrozek, Michal 840d81c9fc Do not initiate limited range allocator if range above max64 bit address.
Change-Id: If7b0a83c5e5326f2b16d32533d8631ff6ff877cc
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-26 11:43:24 +02:00
Venevtsev, Igor 165d1e4e55 Use GfxPartition for GPU address range allocations
[2/n] - OsAgnosticMemoryManager

Related-To: NEO-2877

Change-Id: I887126362381ac960608a2150fae211631d3cd5b
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-06-25 12:54:20 +02:00
Piotr Fusik 57f88ee197 Determine the engine flag while binding the context.
Related-To: NEO-3008

Change-Id: Id2a9a210ca3a611b6663d43f1442b26cfccddb10
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-06-18 08:32:49 +02:00
Zdunowski, Piotr 4f9840246f Dynamically read timestamp resolution on Linux.
Related-To: NEO-2492
Change-Id: Ic76815496289ccecd8a76484e417e71b78b04932
Signed-off-by: Zdunowski, Piotr <piotr.zdunowski@intel.com>
2019-06-14 15:39:25 +02:00
Mateusz Jablonski b04fc1121e Apply memory flag when creating Gmm with image info
Resolves: NEO-3294

Change-Id: I2702611c5b3b2ccd8d48219b90479a6fd3fbe1f7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-12 17:36:07 +02:00
Jobczyk, Lukasz 007982b51f Add the supportsMultiStorageResources flag
Related-To: NEO-3182

Change-Id: I618b734b37c5fb983be55b50d89a965eaedc78fe
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-10 17:57:49 +02:00
Mrozek, Michal 5244030e31 Call ioctl to obtain file handle from prime bo
Related-To: NEO-3252

Change-Id: I8d976ae29875db83dd75802e0309cb4438d1332b
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-10 09:06:59 +02:00
Mrozek, Michal 1db6e77c4d Return handle to bo object instead of BufferObject.
Change-Id: I18797660e085fb1e0f17ca860220da98f52cb738
Related-To: NEO-3252
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-04 22:17:19 +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
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
Piotr Fusik 697dc6ce60 Bind the drm context.
Related-To: NEO-3008

Change-Id: I4d63b8bc1f831c306ae5535067e2818155963cf5
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-05-15 10:32:47 +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
Piotr Fusik 7b9402b646 Add EngineInfo for Linux.
Related-To: NEO-3008

Change-Id: Ib9e1a241a5b47aad5e4f83443a3e85db826d13ff
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-05-13 10:06:54 +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
Mrozek, Michal 4f0c58003c Remove redundant code.
Change-Id: Ia037d05484d3ee70e5f915346884fde9eb7df180
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-05-06 15:13:29 +02:00
Piotr Fusik f153fca90a Add Drm::queryEngineInfo.
Related-To: NEO-3008

Change-Id: I2a4d21bfa1f078b5da2f893bdb7554d502df8522
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-30 15:52:19 +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
Mateusz Hoppe 582fc9cf10 Return true from 48BitAddressing when GTT size > max64BitAppAddress
Related-To: NEO-3133

Change-Id: I18711642a5f092be423fb921bc4940ef9b6312d4
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-25 13:17:53 +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
Mateusz Hoppe 016d6eda4b Return 48Bit addressing based on I915_CONTEXT_PARAM_GTT_SIZE
Change-Id: I54dcce1708d0e7d2280da1b4acb06ee1a1da6c7f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-25 09:09:43 +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
Katarzyna Cencelewska c5274c5087 Set FeatureTable and WorkaroundTable in setupHardwareInfo
Related-To: NEO-2755

Change-Id: I61ba85909574780464690c70b194b3d3597af43e
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2019-04-17 13:52:19 +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
Jacek Danecki 22be2f677d add RTLD_DEEPBIND flag for dlopen
- flag is disabled when any sanitizer is enabled

Related-To: NEO-2728

Change-Id: I6eb507b61876c8931095afc9760dd5760183e65a
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2019-04-11 13:08:46 +02:00
Mateusz Hoppe 115d700f49 Add getter in Drm for memoryInfo
Related-To: NEO-3014

Change-Id: I56c0e13b88d27f7c6b3816bf24342cdb04108dac
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-10 16:33:25 +02:00
Dunajski, Bartosz a8451b8aaa Support BCS context creation
Related-To: NEO-3020

Change-Id: I7ddd3816e7b9a5c8cd53a77e87625303a8549b8d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-04 12:18:29 +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
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
Piotr Fusik d4a0c4852b Move EngineType to aub_stream.
Change-Id: Ieaa75aaf4aca4487833754eb38ff709adcbf0f11
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 10:06:29 +01: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 e42e952d21 Reverse logic of creating Memory Manager - part 5
-Remove a Drm* parameter from the DrmMemoryManager constructor

Change-Id: Idb6faccdbb512691a8b14f86cdd935d1a8374a23
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-26 10:47:03 +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
Mateusz Jablonski ee9eb8df83 Release all Gmms
Change-Id: I2227b6a1014fea59053893c9d6330f1c386bbcd2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-22 12:19:44 +01:00
Stefanowski, Adam 16aee8cc46 [2/n] Move Hardware Info to Execution Environment
- remove hwInfo from the csr functions where it was passed as a parameter,
now csr functions have access to hwInfo by Execution Environment

Change-Id: I756ae63d9728c9c963571147bab97f9e1c15797b
Signed-off-by: Adam Stefanowski <adam.stefanowski@intel.com>
2019-03-22 10:08:26 +01:00
Liwei Wang ca4b47f7f4 Add support of GPU preemption (v1.00).
https://github.com/intel/compute-runtime/pull/119

Change-Id: I3134d62b66751c8621b80002373a7a9b198e044e
2019-03-22 08:49:11 +01:00
Dunajski, Bartosz 7f2bf217f1 Refactor DeviceFactory::getDevices
Change-Id: If3b20cc8ed74bdb1c32ae17c23374b7c267933a3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-20 15:25:36 +01:00
Mateusz Hoppe 432591a88a Adding MemoryInfo to Drm
- call queryMemoryInfo on Drm::create()

Change-Id: Ib0532894f271bd4ab3dcbb281d0bddf2a01d4afe
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-03-20 15:04:43 +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
Piotr Fusik 429487fad0 Add constructor parameter to select low priority context.
Change-Id: Ieb3fa008a2f1b54052e393516038c88f00944fa0
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-18 15:09:59 +01:00