Commit Graph

81 Commits

Author SHA1 Message Date
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
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
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
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 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
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
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
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
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
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
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
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 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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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