Commit Graph

281 Commits

Author SHA1 Message Date
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
Lukasz Jobczyk 447c3f5800 Add debug flag to disable gem close worker
Change-Id: If2453b2c168aa7086ad387f97ac2255291e08ae1
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-05 14:44:33 +02:00
Lukasz Jobczyk 1fdd326ba0 Enhance bind log
Change-Id: I202d4f65b71aeda18b20312ef05c910c0c937d19
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-02 12:48:25 +02:00
Lukasz Jobczyk d1a9174204 Enable early pin on direct submission
Resolves: NEO-5112

Change-Id: I79398dda9de3584d327e9448dd57e9a3ed37b377
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-01 10:42:13 +02:00
Lukasz Jobczyk e7a1b53ec7 Use new residency model if supported
Related-To: NEO-5007

Change-Id: I74ee500c94d2fea0f8d99dd1b912aa10536b6cae
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-01 07:58:29 +02:00
Katarzyna Cencelewska ee63b7a840 Initialize storageInfo for new create allocation
in WddmMemoryManager::allocateGraphicsMemory64kb

Change-Id: Ie7ef14f2960c3923014941882c63f116ef265d74
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2020-09-30 13:07:50 +02:00
Lukasz Jobczyk 76501a2921 Adjust early BO pin to new residency model
Resolves: NEO-5112

Change-Id: Ia65b1d75f957669999f7de423716a1e3cffc4032
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-30 12:24:47 +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 55bd544402 Lazy evaluate arguments of printDebugStrings(...) function
Change-Id: Ie44e109fd9235c5df32fb90b9e6fc6058e558a99
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-25 18:38:58 +02:00
Lukasz Jobczyk d20e3af187 Enable gem close worker on direct submission
Related-To: NEO-5112

Change-Id: I1b6950d0308d98cca09051d6fea46d51c10d2a6a
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-23 08:10:14 +02:00
Zbigniew Zdanowicz 3b6f9b7cb6 Add implicit flush for new resources and idling gpu
Related-To: NEO-5100

Change-Id: I57fdb8eecd88124c4c9171014950554c35dbecd1
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-22 21:50:02 +02:00
Mateusz Hoppe 6ba7a3f6c1 Internal update
Change-Id: I84965fc114101683a63d7b2eae465a2f46e23603
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-22 09:03:27 +02:00
Lukasz Jobczyk 9790c2991d Use new residency model by default
Related-To: NEO-5007

Change-Id: Id39ac53e00e126237200d80e493706e2eed53b30
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-21 08:09:11 +02:00
Mateusz Hoppe 2a18177ecb Minor fixes for compiler warnings
Change-Id: I25aa3a31d65e3055850c4731da77a83e3b7a41ab
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-19 10:59:52 +02:00
Mateusz Hoppe b7852303e8 Adding getter to BufferObject
Related-To: NEO-4964

Change-Id: I0bbac01cac9cf0468a78afba4ddc984ec8b55eb2
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-18 15:27:06 +02:00
Mateusz Hoppe 6ae58249a1 Change path in cmake
Related-To: NEO-4964

Change-Id: I21fd1568eee9bcecca583452917ebe7b17710bec
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-18 11:58:06 +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
Mateusz Jablonski 98c9e3f6ca Verify GL sharing based on luid from wglGetLuidINTEL function
Related-To: NEO-5016
Change-Id: I4409132ce000d6052c7f69a9b19c01389d51c2de
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-18 09:51:28 +02:00
Sebastian Luzynski 8260e7c5d9 Improve logging.
Change-Id: I4ca07fe6597fb72ffbd6c42d459415fe83658640
2020-09-18 09:29:47 +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
Mateusz Hoppe d363448515 Interfaces to register resources
Change-Id: Ic587aaa5a41e4e7648211cfa730a0aa5bbc2985a
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-17 12:39:16 +02:00
Jaime Arteaga c5b214e554 Correct validation of error returned by mmap
mmap() on error returns MAP_FAILED, which is (void *)-1,
not nullptr

Change-Id: I7ed13fbf99b4a422e2586791a3a4d76234d7e3a6
Signed-off: Gengbin Zheng <gengbin.zheng@intel.com>
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-09-15 11:27:24 +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
Mateusz Hoppe 88ee48498b Use snprintf
Change-Id: Iece1320560e0f5a93f47cd67626435266de56ce9
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-10 09:21:01 -07:00
Mateusz Hoppe 0e7ec82577 UUIDs generation
Related-To: NEO-4964

Change-Id: I0ef5912fb744788f713803f539551c7b0b134208
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-10 13:57:05 +02:00
Lukasz Jobczyk b2ee148da9 Split residency task count and always resident flag
Related-To: NEO-5052

Change-Id: I1ae5f40a0e3ccc6fc269278f986709becccdaca6
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-10 12:28:18 +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
Spruit, Neil R 3c44c6f942 Fix Windows Adapter Enumeration to ensure Render/Compute support
- On Windows, if one uses remote desktop to connect to their windows machine,
  then attempts to run compute workloads, a shadow intel graphics device
  is created and L0/OpenCL will report 2 devices for a single device.
- This second device is not valid and if used will cause workload failures.
- to ensure that only usable devices are reported by L0/OpenCL, we now check
  the Adapter for its Support in D3DKMT_ADAPTERTYPE which for our use must
  have RenderSupported. The Shadow devices only support display and not
  rendering/compute, so this check will avoid reporting a display only
  intel device for compute usage.

Change-Id: Ib619c454aea2deb91135e7958efbca1cee5a05eb
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-04 12:00:47 +02:00
Lukasz Jobczyk 9ea9baf1ad Prepare to switch to new residency model
Related-To: NEO-5007

Change-Id: Ia9b43ca7fea0ef315af5caff5a53a84ffc363937
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-04 11:42:59 +02:00
Lukasz Jobczyk 71f99f4174 Optimize mergeWithResidencyContainer method
Related-To: NEO-5007

Change-Id: I7145371c719ceeebf529fdf94a512a8398156591
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-04 09:04:09 +02:00
Mateusz Jablonski 442b6cfc47 Verify GL sharing based on primary display's luid
Resolves: NEO-5016
Change-Id: I244536fdd8acacfeb423ae09e13191df66c4f74a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-02 17:14:13 +02:00
Jaime Arteaga 401dcf8c2a Enable local memory bank in DG1 (2)
Add ULT

Change-Id: I58cd200fd8e35b4afde935c7bd46cf4bfcf1bf0c
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-09-02 00:40:02 -07:00
Lukasz Jobczyk 067fea96ca Fix typo
Change-Id: I83f38c41f822f62688b618b84eb8221a160d3528
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-31 14:44:40 +02:00
Lukasz Jobczyk 847b8506c3 Return status from Drm::queryVmId
Change-Id: Iec886c91de2920904bc3bec8e8811afd355b8738
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-31 07:11:28 +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
SaiKishore Konda 8f52561307 Multiple engine support for Sysman Engine API
- multiple engines support for Sysman Engine API
- added engineQuery support
- opencl ULTs to validate engineQuery
- Sysman ULTs to validate engine APIs

Change-Id: I3b4d3a96a4cdca7dd9957f6a57f7b1bf900582d3
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-08-28 13:36:31 +02:00
Lukasz Jobczyk 73217c6154 Add debug flag to force userptr allocations alignment
Change-Id: Iaa7769d09e297042bf298f699dc63809d60a3571
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-28 09:34:53 +02:00
Lukasz Jobczyk 2368972012 Move bind logging to separate debug flag
Change-Id: I022fa8662c27228f7c559874fc042f8a31381fb5
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-28 07:02:52 +02:00
Igor Venevtsev eeb30f960a Fix large graphics allocations split on Windows
1. Canonize reserved gpuAddress
2. Do not check allocation type for host pointer allocations

Related-To: NEO-4479

Change-Id: I4789ff2b1bada0c955ab6ad5a282efbb15be35e5
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-08-26 18:00:54 +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
Sebastian Luzynski 26e700f649 log bo creation and destruction, improve logging
Change-Id: Ic4d66e316ed08d056053a7a9f60611f4b5a762e6
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-08-25 16:47:11 +02:00
Lukasz Jobczyk 2e5c5b5f29 Check if new residency model is supported in kernel
Related-To: NEO-5007

Change-Id: Ia01e74ed8c314acf71f972b4b55a88a5f4556f08
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-25 15:01:18 +02:00
Jaroslaw Chodor 39f42b20ba Require OpenCLDriverName in DeviceRegistryPath
Change-Id: I93a8ca95082f6ddb48adffe33145568f32d77418
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-24 08:21:20 +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
Mateusz Jablonski 739c1c6c99 Pass maxOsContextCount to BufferObject
Change-Id: I9e64718a5a64096c8fdc50f3b84d3843701ff602
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-21 11:26:32 +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 Hoppe 348ddf810a Query VM ID at context create time
Related-To: NEO-4957

Change-Id: I765c461e1090446e54873c33de001255b7c114a7
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-19 12:47:27 +02:00
Mateusz Jablonski 2f761b92e5 Pass maxOsContextCount to WddmAllocation ctor
Change-Id: I8cb72efb51d8b7817cf3572dbbf92796c99da58e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-19 12:31:59 +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
Mateusz Jablonski dac2bcd9f1 Reduce number of WddmAllocation ctors
Change-Id: I3ac2ab6a36ac7d0c18559dda176d3a7ec0fe3de1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-18 11:06:02 +02:00
Mateusz Hoppe cdc7649e77 Pass OsContext to memory management methods
Operate on OsContext when per context VMs are used

Related-To: NEO-4957

Change-Id: Ia6bef88a80163d4ceee9f9bf59bda6b569d8929f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-13 19:48:54 +02:00
Jaime Arteaga 515d300c8a Enable local memory bank in DG1
Change-Id: Ifabfd2a7c8c3effd5765995d5ed5740b301e5269
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-08-10 11:45:25 +02:00
Adam Cetnerowski dd322c3466 Document use of RTLD_DEEPBIND
Related-To: NEO-2728

Change-Id: I0febab29385e9fb74d2d946a8242be10327f8ad6
Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2020-08-10 11:31:59 +02:00
Mateusz Jablonski 9bced7da37 Close adapter after veryfing adapter luid from HDC
Related-To: NEO-4952
Change-Id: Ieac35973895baec92ae7f093b1b693cd60994022
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-10 09:49:32 +02:00
Mateusz Jablonski 1e7f05e185 Verify DX sharing based on AdapterLuid
Change-Id: I86e970cbc48256e5941f0a071dc549dd22423105
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-07 15:49:30 +02:00
Mateusz Jablonski 418db08517 Verify HDC handle when returning devices for GL sharing
Resolves: NEO-4952
Change-Id: I298bb26aacd2cc5ad7206f7fff2b2235098fb8bf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-07 13:45:30 +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
Mateusz Jablonski 171c40d58a Setup device registry path in GMM_INIT_IN_ARGS
Change-Id: If4eed9cb16bd0bba24a0d5803488e00ef48a3fa5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-05 16:50:54 +02:00
Artur Harasimiuk fa6b181120 do not use absolute path when including hw_cmds.h
Change-Id: I59a825f25d6572f7dfb0c80211a6e3652e2827c5
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-08-04 13:27:29 +02:00
Slawomir Milczarek d7f196f62a Create Drm context with VM ID if virtual memory supported
Change-Id: I0beae5941ad4ddd5281ae7e12c27e80914e4c128
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-08-04 11:35:41 +02:00
Koska ef357b78ff Reading the cl_cache_dir environment variable
Change-Id: Ia104f8e1f1fde310a5eceb6b6319bc8629a057bb
Signed-off-by: Koska <andrzej.koska@intel.com>
Related-To: NEO-4819
2020-08-03 14:44:23 +02:00
Mateusz Hoppe e8246a8179 Fix reading memory maps
- use correct specifier to sscanf to read uint64_t values

Change-Id: I12c7c062794dc7e57f3cd9eb7b325e471396ceb6
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-03 13:06:39 +02:00
Igor Venevtsev 4928ea60fe Implement parsing of process mapped memory regions
Related-To: NEO-4525

Change-Id: Ic3f9f04b42a10c2cc33f489a87d6b4b5fa1eedaa
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-07-31 15:06:30 +02:00
Lukasz Jobczyk e297cdb74b Disable gem close worker and force pin in direct submission
Related-To: NEO-4338

Change-Id: I1959d69cf3aebf817493e155dad91ff8830ed5b4
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-31 13:23:48 +02:00
Lukasz Jobczyk 70ac7ec80e Append proper flag to buffer object
Related-To: NEO-4338

Change-Id: I87604992fdfc20cd02773999f7c019344e8e3213
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-31 10:26:28 +02:00
Lukasz Jobczyk c08e3dde82 Make batch buffer resident during direct submit
Related-To: NEO-4338

Change-Id: I9d4d0f0baf96ed5d4aa6d7c8d8206e0681984e84
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-31 10:19:28 +02:00
Lukasz Jobczyk 49cd8e4e1b Bind bos to proper VM
Change-Id: I536ff342875bba39cf9a9922fcf647af408ae398
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 13:21:15 +02:00
Lukasz Jobczyk 038577eaf4 Repeat ioctl when device is busy
Change-Id: I29007c316df610c9410a71a59c5098bd4539b504
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 11:59:06 +02:00
Lukasz Jobczyk acc4a44b15 Bind allocations in csr under debug flag
Related-To: NEO-4732

Change-Id: Ie2a609dc614d2ad1ee698940fe6f2527d6e92854
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 08:08:51 +02:00
Lukasz Jobczyk 56a0eb7d0f Set VM id correctly
Change-Id: I5e4396995dd2f68b9a1fa4646061d54c4a85d3fe
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 07:19:50 +02:00
Lukasz Jobczyk 1924ef271f Bind allocations in all contexts properly
Change-Id: I44ebadf39e83e511ca92ee4ee9a7f2397a1500e0
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 07:00:41 +02:00
Mateusz Hoppe b89408266a Fix possible memory leaks with BufferObject
Change-Id: Id2141a7a4becfa3ed57034df575b1c868db6715c
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-23 09:34:10 +02:00
Bartosz Dunajski d51e3bb9ce Pass ClientType to Gmm
Change-Id: I25ba11d2fd1523fd5cf35157d6a2381991709ad2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-22 17:50:05 +02:00
Kamil Kopryk 9b2e5274d2 Add helper isBankOverrideRequired
Change-Id: I13b7a77ff029f47091a27704a61704ca8cc46ef2
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4882
2020-07-22 09:24:56 +02:00
Mateusz Hoppe 7aea294c85 Allow perContext VMs
Related-To: NEO-4637

Change-Id: I599aba9c1c06fd9414cfa14ebb2de3fc504d1cad
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-16 11:20:51 +02:00
Slawomir Milczarek 3c4c7a0215 Drm create context with an implicit virtual memory address space
Related-To: NEO-4821

Change-Id: I18545d976788daacbb195e243f4049b7f83fd3a2
2020-07-14 14:26:49 +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
Slawomir Milczarek 519e75e3d6 Add DRM capability to create a virtual memory address space on Linux
Related-To: NEO-4821

Change-Id: Iefc17d6c0a3649791b9a9b15791a6d263399873d
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-07-10 12:16:09 +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
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
Igor Venevtsev 1f63f39d77 Pass preferred GPU virtual address to mapMultiHandleAllocationWithRetry()
Related-To: NEO-4479

Change-Id: I4591b013e3c9bf459e944c34f3617aaa11a66baf
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-07-07 08:58:58 +02:00
Maciej Dziuban b1062812be Use family type from hwInfo in WDDM
Change-Id: I3120673781b4cc0eb170833ac42eab1aad718d79
2020-07-06 17:53:47 +02:00
Lukasz Jobczyk e027a2653d Move makeResidentBufferObjects to DrmAllocation
Related-To: NEO-4732

Change-Id: Ib7b7a46b0a9fd1d5cc1b89f64f66bc78cab5c563
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-02 09:50:26 +02:00
Maciej Dziuban 79821f5d76 Do not create shareable 64k paged allocations
Change-Id: I25620848533dbe96172e8582b64a53655c3e7d0e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Resolves: NEO-4720
2020-07-01 17:52:18 +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
Slawomir Milczarek ac452a267b Remove unsupported DRM I915_EXEC_COMPUTE flag
Related-To: NEO-4744

Change-Id: I1e9da6ec58f8b0144a7371e702a0c3a8425864d7
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-06-30 11:58:35 +02:00
Slawomir Milczarek 7e56a8303a Add DG1 support to OpenCL and Level Zero (2/n)
Source location of Linux kernel DRM/i915 interface headers:
https://repositories.intel.com/graphics/kernel-api/index.html

Related-To: NEO-4744

Change-Id: I08a9ab651d8594e9a04d6a83dc48682d4fa53702
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-06-25 18:23:40 +02:00
Jitendra Sharma 251994149a Expose DRM interface to sysman APIs
Change-Id: Iab4d42cf90c9804c2b036045f3990aedd31efa91
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-24 16:40:49 +02:00
Bartosz Dunajski 6645cd99e6 Debug flag to override revision
Change-Id: Ie4057baa0fcc6ba9281436fcfd09a75380ca8fd0
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-23 11:25:24 +02:00
Igor Venevtsev 5334f800ea Fix destruction of shared handle allocations
Related-To: NEO-4479

Change-Id: Iad7581c40948d2bc83c18a36b230254ee92fc0f7
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-06-22 18:10:31 +02:00
Maciej Dziuban 5293b26dc6 Add isEvenContextCountRequired function
Change-Id: I6b0b16aca93fac587b9552493f24f329636cf8e0
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-06-17 15:38:15 +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
Bartosz Dunajski 240b97706f Fallback into legacy IOCTLs in case of incorrect topology data
Change-Id: Ibf0a3885729ab6cf5888534677ff73b875d142c1
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-16 14:13:41 +02:00
Bartosz Dunajski 5af401b7bb Discover GPU topology from i915
Resolves: NEO-4718

Change-Id: I0547c109b961c3732e64b6f22ec761a5943c65ef
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-15 10:32:29 +02:00
Sebastian Luzynski 2fb1dd439e Add debug variable for logging drm_buffer object
Change-Id: Ida9635705172c1059b6adf4b6f55fdf4bc50c5b1
2020-06-10 11:47:32 +02:00
Mateusz Hoppe d55a0ae5c6 Detect enable program debugging env variable
Resolves: NEO-4713

Change-Id: Id9ce30b84943c4b364f7756a430d58df2614a28b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-09 15:23:20 +02:00
Slawomir Milczarek c60b86405c Extend DRM query with length parameter
Related-To: NEO-4707

Change-Id: Ia18df6b73524939926d5aabb4e82b2596ef0508a
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-06-07 17:03:04 +02:00
Slawomir Milczarek b156393615 Add mmap mock to DRM memory manager
Change-Id: I0799a909659842e6bba1f5ec5de8f6310ba1b329
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-06-02 22:08:35 +02:00
Igor Venevtsev aa7bd6447d Allow zero alignment in OSMemory::reserveCpuAddressRange()
Related-To: NEO-4525

Change-Id: I19bcd37c70c413c7726f1cd1ba5c29b5d80dfb42
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-05-29 16:42:58 +02:00
Lukasz Jobczyk cc5fd45b47 Extend mutex range in DrmMemoryOperationHandler
Related-To: NEO-4302

Change-Id: Id022a51071eeea076fbc91dd3a05000d5e85a417
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-05-29 09:50:10 +02:00
Igor Venevtsev 0bc5e158e5 Pass preferred base address to OSMemory::reserveCpuAddressRange()
Related-To: NEO-4525

Change-Id: I6d97ae41af1a0fba31993683bfc669f79aa5b77b
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-05-28 11:39:27 +02:00
Bartosz Dunajski d5875b05e1 Use sizeof(COMMAND_BUFFER_HEADER) for Wddm queue submission
Change-Id: I01713f3772d25a7389c547ef412304712d60bbe0
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-28 09:38:07 +02:00
Slawomir Milczarek 92f4144661 Amendments in GPU address acquisition for media sharing on Linux
Related-To: NEO-3774

Change-Id: If3dbf1a63c4a56d8a97d6a16eb08d2ba06d8ed88
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-05-25 12:39:17 +02:00
Mateusz Jablonski 3c288df339 Correct CreateMultipleRootDevices logic on Windows
respect CreateMultipleRootDevices flag when multiple adapters are exposed
dont duplicate adapter handles when simulating multiple root devices

Related-To: NEO-3691

Change-Id: I838f831723aeebd8b175502d737ed73eb5df2f21
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-05-22 10:03:00 +02:00
Mateusz Jablonski 7f02a39f75 Correct CreateMultipleRootDevices logic on Linux
respect CreateMultipleRootDevices flag when more devices are available

Related-To: NEO-3691
Change-Id: I6ed3d018535e227f7d673e23c27cfd44d6ac453d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-05-22 09:41:50 +02:00
Igor Venevtsev 8529775429 Pass HardwareInfo to HwInfoConfig::getHostMemCapabilites() method
Resolves: NEO-4663

Change-Id: Ie87880cfc9de1d8950d59265db16e78464043ee6
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-05-21 12:39:12 +02:00
Bartosz Dunajski 03983425fa Wddm context creation logs
Change-Id: If98c7cae967fb604b617d73963688d99d7ed5f25
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-21 11:21:28 +02:00
Vinod Tipparaju c98949fd37 Fix thread safety violations within runtime allocators
Change-Id: I925d15429de314e3d3287f41a054732181911851
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-05-14 16:27:55 +02:00
Dongwon Kim 7157b41856 Prevent writing to null ptr if malloc fails on cpuAddrBo
Change-Id: Ie83224c993fa3fc308551f009dadddca29549057
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
2020-05-14 15:41:00 +02:00
Pawel Wilma c59fd6484b Debug variable to override preemption surface size
Change-Id: I38934e743d7e763e56519046f38a837f2e735663
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-05-13 19:43:13 +02:00
Mateusz Jablonski f3cb94c491 Add missing destructors to os thread classes
Change-Id: If1d513fbeaa2b1d7a353f3321f992a16e8f3a80e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-05-13 14:09:35 +02:00
Dongwon Kim 4216e962b2 Assign GPU range for pinBB in case of limitedRanged GPU addr space
Change-Id: I3ad90c8eac8664af16b0c9af7b7420cf77f31d8a
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
2020-05-12 13:16:41 +02:00
Lukasz Jobczyk ae7e9b3c39 Add implementation of memory operation handler on Linux
Related-To: NEO-4302

Change-Id: Ic2b0eb9dde67d0c672914764592c8326f5bdd9c1
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-05-12 08:09:44 +02:00
Bartosz Dunajski 989651b397 Bring back page size for PrivateDriverDataSize in wddm queue submit
Change-Id: Iad7c623ceed1a6d432df544ceea462569f615c15
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-08 13:37:56 +02:00
Jobczyk, Lukasz c60e4af68a Revert "Change residency vector to set"
This reverts commit 29c3c7180b.

Change-Id: I68e80e0f23b1f2deda4cc94d3cf17ea215fe1c9e
2020-05-06 13:17:45 +02:00
Jobczyk, Lukasz a843293f89 Revert "Add mechanism to ensure resource lifetime residency on Linux"
This reverts commit 537ffbcb00.

Change-Id: I425a6167979e1f7bb9bc1ca8a8b91bd8174be480
2020-05-05 12:31:41 +02:00
Bartosz Dunajski 6cc698f896 Change PrivateDriverDataSize for Wddm 2.3 submits
Change-Id: I472aa50f415947dfdb30168219c717dac26abdc8
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-04 16:21:42 +02:00
Lukasz Jobczyk 537ffbcb00 Add mechanism to ensure resource lifetime residency on Linux
Related-To: NEO-4302

Change-Id: If22fe390555dbe97f2f24b28264276410355b067
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-29 12:39:22 +02:00
Lukasz Jobczyk 29c3c7180b Change residency vector to set
Related-To: NEO-4302

Change-Id: I318e28ed6d84fa781f9369a870f3e9e10a897db9
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-27 11:17:08 +02:00
Kamil Kopryk 0c7c112bde Don't force to disable ftrRenderCompressedImages on linux
Change-Id: I231d521db6f60b243097735b1bf0e0a3bf7068a6
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-2285
2020-04-27 08:29:24 +02:00
Kamil Kopryk e3a4f021ce Don't force to disable ftrRenderCompressedBuffers on linux
Change-Id: Ib480434b25f45f04910ae39787842e3732e38ad5
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-2285
2020-04-23 16:02:59 +02:00
Slawomir Milczarek 52deab65e0 Moved unit test for getMaxGpuFrequency on Linux to shared code
Related-To: NEO-4544

Change-Id: I5319e9485bbaa973f73bc11dd07effa184f27e64
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-04-14 12:41:54 +02:00
Jablonski, Mateusz 719b22ee11 Read max frequency using pci path
Related-To: NEO-4359
Change-Id: I2dc106cc2d7bc9087fb3925051969fa2a245e6f5
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-04-09 18:31:13 +02:00
Mateusz Jablonski 86f5555f67 Fill OsInterface in Wddm::init
Change-Id: I0a4645040b06870007a20b46dbea562bf6024ad3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-09 14:49:24 +02:00
Zbigniew Zdanowicz bc2ca947a0 Use dword size to evaluate bool value of registry key reader
Related-To: NEO-4542

Change-Id: Ifd7b9bb1ce5c4fd1397ca6c8c48f8ee6615721e6
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-09 14:02:02 +02:00
Jablonski, Mateusz 0e00277663 Linux: open devices from /dev/dri/by-path
Related-To: NEO-3691, NEO-4359
Change-Id: I0d838880fe44174fb172b1aa77d91580ec89d27b
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-04-09 13:46:39 +02:00
Koska ea56bde3fb Use preferredGpuVirtualAddress for nonSVM 32 bit applications
Change-Id: Ic8ee097138b860f64d752eb1bc54754f36a97b1d
Signed-off-by: Koska <andrzej.koska@intel.com>
Related-To: NEO-4218
2020-04-08 14:44:06 +02:00
Mateusz Jablonski 1a35298fdb Create OsInterface before calling Wddm::init
Related-To: NEO-3691
Change-Id: I33690e4297b6ddd3195c272de00f0c946c56380b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-07 20:12:36 +02:00
Zbigniew Zdanowicz 1b884e3ea9 Add Wddm residency logging to upper layers
Related-To: NEO-4338

Change-Id: Ib36f4c8da5a2ea9d4f81063faa718a29fbc4b8d8
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-03 09:48:38 +02:00
Zbigniew Zdanowicz f096d71a75 Add diagnostic mode to direct submission
Related-To: NEO-4338

Change-Id: Ibcdc1b6a1762827337e4ff5364a972702130195a
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-02 17:50:59 +02:00
Filip Hazubski d0527e1049 Rename memory_constants.h to constants.h
Change-Id: I05b5d20bac12935dc6625b94adc3a03c98c19b49
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-04-02 14:19:39 +02:00
Piotr Maciejewski c6cd582f78 Enable Performance Counters for OCL and L0.
Change-Id: I1920b9d406c092fbc26fc6ca27766db297a1958b
2020-04-02 12:04:56 +02:00
Filip Hazubski a7e4ad4eba Add unspecifiedDeviceIndex constant
Change-Id: I146e9c80ce0d18aae5e56fadf83f5e1603173fd7
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-04-01 20:37:05 +02:00
Igor Venevtsev 2ac968e6c2 Add alignment capability do OSMemory::reserveCpuAddressRange
Resolves: NEO-4510

Change-Id: Iffcb33d1c06ca930345df0216bc5d3d1ce12c313
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-04-01 07:46:40 +02:00
Milczarek, Slawomir 70a28f4bd9 Make OverrideGpuAddressSpace apply to AubManager
Change-Id: I16d86d0ffdfef8afaed25ac8c34c12196f9b9c9c
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2020-03-31 22:57:56 +02:00
Lukasz Jobczyk 85ec469bd4 Add support for int64_t registry keys
Resolves: NEO-4505

Change-Id: I583d26a5932193acfd58eac50462ec81cd460d8f
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-31 16:14:44 +02:00
Slawomir Milczarek 9022912a6d Check for image support in VA media sharing
Related-To: NEO-4473

Change-Id: I6015d67215267b1dcde1e885cf3696af10ea5e7d
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-03-31 07:29:13 +02:00
Michal Mrozek d99160c9f3 Remove not needed BufferObject constructor.
Change-Id: I9b79699a041dc24ee542f7ae949b92327670d4b2
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-03-30 10:17:24 +02:00
Bartosz Dunajski 3ce4aed78d Use unique_ptr for drm query
Change-Id: I7dc67ff33abc56b4525a90cfc41013fd530b3fa2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-27 19:34:24 +01:00
Zbigniew Zdanowicz 4bc680477c Improve Wddm Residency logging
Related-To: NEO-4338

Change-Id: I5fefa1da6188befe27928b6bbfcc7bac89a6aef2
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-03-25 11:58:59 +01:00
Jablonski, Mateusz fdde7232fd Correct usage of rootDeviceIndex in DrmMemoryManager::populateOsHandles
Related-To: NEO-3691
Change-Id: Id7ac60fd8f4f1949508f1ac000de40f58e1878c0
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-03-25 10:18:37 +01:00
Dongwon Kim ec6d73e632 Update gpuAddress before soft pinning bo
bo->gpuAddress update before soft pinning of BO in Non-SVM case

Change-Id: I80cc5467673e3b3a0512d840c5eed75470fa0e7f
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
2020-03-24 07:17:44 +01:00
Mateusz Jablonski 37b7d1ebd6 Correct reading binary values from registry
Change-Id: I9cbbaaebb3b656314c4b44eea454fe19248f16b7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-23 18:42:01 +01:00
Piotr Zdunowski 68ec2d9cf7 On windows always request even number of EUs.
Resolves: NEO-3787

Change-Id: I45e8fdca563b3e6bebcd94b9c16202aff61a2357
Signed-off-by: Piotr Zdunowski <piotr.zdunowski@intel.com>
2020-03-23 15:31:00 +01:00
Slawomir Milczarek 6f09eef35f Unlock resource to check for local memory
Releted-To: NEO-4495

Change-Id: I55ec577154ed937d566acd53894ed77360c63df8
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-03-23 15:12:46 +01:00
Mateusz Jablonski 688c95ce3c Rename getDevices functions
getDevices -> prepareDeviceEnvironments

Change-Id: Ie5bbc0e9f1fe9b1c34ba012249ffa33c4d2ebd05
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-23 12:53:42 +01:00