Commit Graph

150 Commits

Author SHA1 Message Date
Jaime Arteaga
4e1d96f7c3 Modify creation of queues per ordinals in level-zero
In a multi-subDevice device:
- If creating the queue with the parent device handle:
  - Use subDevice0 engines.
- If creating the queue with one of the subDevice handles:
  - Use that subDevice engines

In a device without subDevices:
- No changes. All engines of device are used.

Change-Id: I11cf08cbab08d168deb135111f884c0c023ba384
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-07-10 02:04:45 -07:00
Spruit, Neil R
2ae0260c7d Fix Image Copy with null region to handle invalid height/depth in descriptor
Change-Id: Ida41570c1ee12f68f5630bacb357447b6d4dd171
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-07-09 18:32:04 +02:00
Zbigniew Zdanowicz
bac5506b62 Modify function dispatching cross and per-thread data
Related-To: NEO-4585

Change-Id: Ia6b54b8d0c868cab5403332411655dc8c9ef4c8d
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-07-08 19:30:23 +02:00
Jaime Arteaga
823586b6fb Correct address in setBufferSurfaceState
Change-Id: I17c6766f63aa2cde526db297b8334428a29ec85f
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-07-08 16:39:40 +02:00
Maciej Plewka
04ff7218e3 Use one blit command for copy region
Change-Id: I8a335b3ec58bf4b767d93435691acb036b5b2ce7
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-07-07 12:22:40 +02:00
Bartosz Dunajski
d712a015b4 Use correct heap for GSBA programming
Change-Id: I85d3b478e8c3749501ca6eb76224d95b4dbbb86c
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-03 09:12:34 +02:00
Spruit, Neil R
5734d0df70 Fix to kernel name size copy given > 256 on windows
- Enables truncation on windows for kernel name > 256 to
 account for the null terminator.

Change-Id: I97ba4d5a65d9675d6c0da70b8eab5bdff28b7dc0
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-07-03 12:42:15 +00:00
Bartosz Dunajski
2e87c872b5 Select correct heap for programGeneralStateBaseAddress
Change-Id: I21744fbc67551d358e03b3ee44f649ba8d62eb45
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-02 11:03:03 +02:00
Mateusz Jablonski
93c1e1b976 Add MultiGraphicsAllocation to USM
Related-To: NEO-4672
Change-Id: I53ea4bea73ae6d52840146f63bc561bb90f9fe62
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-02 09:39:21 +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
Mateusz Hoppe
5eafc349c9 Introduce SBA tracking buffer allocation
Related-To: NEO-4637

- allocate sbaAllocation in L0 debugger

Change-Id: Ia1be1ad637bbdd6e7f12ca6fdfb0c486ba23a040
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-01 09:46:05 +02:00
Jaime Arteaga
8113fafe53 Disable cross-device indirect access
Change-Id: I57655abfc02785dfd68384a1546ee4cfdbea938a
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-30 21:42:47 +02:00
Maciej Plewka
a661f4b878 Reuse hostPtr allocations
Change-Id: Ie7e24e6630b26809fac1215b66cd90b3cafda53f
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-30 20:44:16 +02:00
Spruit, Neil R
489521da97 Fixed Image size used in Copy From/to memory for null regions
- When peforming Image Copy from/to memory, the size of the image and thus the
memory should be expected to be at maximum the size of the
image width, height, & depth in the user's descriptor.
- When a user passes in a nullptr for the destination or source region the
width, height, & depth of the image region should match the image descriptor
that was passed in by the user at image create.
- The Physical image allocated may be larger than the user requested.
This new size cannot be used in the Copy to/From memory otherwise device data
corruption will occur.

Change-Id: I950f6fd1d5ddc9911dd235f84e1cf00618e4e2a3
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-06-29 22:48:29 +02:00
Jaime Arteaga
5b61ad0966 Add stub for dynamic link function and for extended kernel properties
Change-Id: Ifaaf1226114233618e7959def086989cf93bd0bd
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-29 02:11:29 +02:00
Raiyan Latif
b73c757a82 Add indirect allocations to residency at kernel submission time
Change-Id: Idc6ce7ac72de84107990a5c9786c868d4bfa4322
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2020-06-26 01:54:09 +02:00
Maciej Plewka
a822503b41 Use encoder to program buffer surface state
Change-Id: Ibe66bd9906743b021a04f1d9aad1aae4127a4f71
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-25 12:32:29 +02:00
Aravind Gopalakrishnan
d635eb6300 Move event timestamp function to cmdlist_hw.inl
Change-Id: I0fdff3a70172a81a32e416d62b00bc57420640f3
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-06-24 21:50:51 +02:00
Mateusz Hoppe
5bd5784559 New AllocationType for debugSurface
Related-To: NEO-4797

Change-Id: I851b6cc5b33fb286bea9d175506e932339701f93
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-24 16:16:04 +02:00
Mateusz Hoppe
15b91c4d45 Program debug commands for DebuggerL0
Related-To: NEO-4547, NEO-4549

Change-Id: Idf9139190a85aae7ec52de7a1899a46123809e63
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-24 15:48:38 +02:00
Andrzej Swierczynski
2b7ce21709 Pass valid device bitfield while allocating memory
Related-To: NEO-4645

Change-Id: I96eaf3c4f5aba8b8b3de36182accdc16f28f7ee4
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-23 08:52:08 +02:00
Mateusz Hoppe
dd407681ff Check if kernel was compiled for debug
Related-To: NEO-4776

Change-Id: I54fe64430bf0c4d7972018367340a2ac88a94f99
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-23 08:51:31 +02:00
Maciej Plewka
2beccf9dc0 Fix Read timestamp register once when memory copy
Change-Id: Ibd02275cefbaebd702e3d40eb23e153840741aec
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-23 07:45:15 +02:00
Spruit, Neil R
e1d9f92b94 Fixed Global Driver to be void * with library unload driver cleanup
- Changed Global Driver to be a void * to avoid auto add of Global
Driver Destructor to run before destruction of other L0 data structures
that might be enqueued to destory in static object destructors.
- Added register of library unload driverdestructor to cleanup
driver/device as the last destructor run.

Change-Id: I8ba6c5c27424b942a86a2613edd52fc682ab1c64
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-06-22 12:59:03 +02:00
Mateusz Hoppe
df75856f17 Move EnableCrossDeviceAccess to release_variables.inl
Change-Id: Id16776ebb406ac06e9db534b8b743c24fa1e98d1
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-21 22:15:35 +02:00
Mateusz Hoppe
68847ef942 Create L0 debugger object
Related-To: NEO-4713

Change-Id: I9d10019bbe6e8514ce10bdd729a64ea233bf91b0
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-19 15:46:52 +02:00
Milczarek, Slawomir
3029db07c3 Add DG1 support to OpenCL and Level Zero (1/n)
Related-To: NEO-4744

Change-Id: I7e574d7cf003ed01467c72e797187c0717bb76f2
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2020-06-19 11:59:28 +02:00
Mateusz Hoppe
0e76e9db66 Unify Debugger::create methods and link to shared library
- OCL and L0 can share this method

Change-Id: Ice9488281a5c2a26ea09310319243880a6aa0682
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-19 08:26:18 +02:00
Maciej Plewka
2930c8feba Fix fill allocation that is not aligned to pattern
Change-Id: Ie17c869f4ae8ac0dbedf154242bf8955f2bfd90d
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-18 16:31:00 +02:00
Lukasz Jobczyk
8f30d87a1e Unify release variables
Resolves: NEO-4719

Change-Id: Ib2ab959c0a1eb45f24a4e0e2f02c437d96d47751
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-06-18 08:56:29 +02:00
Jaime Arteaga
abdb707a39 Check for hardware limit for runtime device allocations
Use hardware limit, instead of the one used for device capabilities,
so applications can fully use the available memory in the device.

Change-Id: I910c610d7a3af254724a810c3c60b9da8d5d64a7
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-17 18:56:09 -07:00
Raiyan Latif
af2fe237b4 Add supportsOnDemandPageFaults to HW capability table
Change-Id: I99a2ed9cfaadb60d049628b03bc3abdfde4877b1
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2020-06-17 12:32:10 +02:00
Mateusz Hoppe
de2cce1238 Allocate debugSurface per RootDevice
subdevices should use RootDevice's debugSurface Allocation

Change-Id: I83a725ab574e33dc045f0a25715de682d1dc5efc
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-17 07:14:28 +02:00
Mateusz Hoppe
0d7d2c0be0 Fix casts between Device, DeviceImp and device handle
Change-Id: Ib267239cd041aa812e7d4d7e5cda6daf5b4b6d2c
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-15 15:51:18 +02:00
Jaime Arteaga
59da9598aa Return INVALID_ARGUMENT for system-allocated pointers in kernelSetArg
Change-Id: I5ad50f8d60c5a54aedf24484a65400352ec855df
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-14 19:21:49 +02:00
Jim Snow
5dc7c2368e Improve error handling for unsupported image creation
Change-Id: I4aeec25f32164b8cf71a78d742b7de254e97aed2
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2020-06-11 15:05:23 -07:00
Jaime Arteaga
1a89335386 Add reg key for enabling cross device access
Change-Id: Iede7bc8c6fc2ea7fd8594b6b3e2ffb40820d303b
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-10 22:11:44 -07:00
Jaime Arteaga
775ce2cbee Expose devices according to ZE_AFFINITY_MASK (2)
Read the env var in hexadecimal format, as spec defines it,
and allow for empty string to be the same as default value.

Change-Id: I201c81733ac3d55a5c9ba50b42e28a8cf3414a6d
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-10 10:28:48 -07: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
Mateusz Jablonski
57d0967a2c Pass root device index to MemObj::getGraphicsAllocation method
leave parameterless method in Buffer and Image classes

add method to remove graphics allocation from MultiGraphicsAllocation

Related-To: NEO-4672
Change-Id: I3020eecfabe9a16af7f36d68a74b32d3f4fc2276
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-05 13:18:03 +02:00
Katarzyna Cencelewska
c2295bfb4b Add new method appendSamplerStateParams
to L0
Change-Id: Ia6328799334b56fea91bc244fbc2a91acc65bed1
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2020-06-05 10:05:48 +02:00
Maciej Plewka
008af5b6e4 Add event profiling for copy commandLists
Change-Id: I9f13e48b4139b3ce3c802c2d38b0ce054e64562c
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-02 19:35:13 +02:00
Mateusz Hoppe
2b0114846e Add getComputeEngineIndexByOrdinal function
Related-To: NEO-4710

Change-Id: Idaf84e2b5df608582b32602a6fc987e889173eac
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-02 16:23:53 +02:00
Aravind Gopalakrishnan
6ee7c6d77c Use correct allocation type for timestamp events
Change-Id: I82dc122fd78045d548f95262c2155eab1b1eae39
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2020-06-02 12:24:12 +02:00
Jaime Arteaga
e25eb4057c Make sure CommandList methods are called within it
When calls are originated in CommandListImmediate objects,
CommandList calls may be rerouted back to CommandListImmediate,
causing executeCommanListImmediate() to be called twice.

Change-Id: I8cea4500de4d10c9ebeb9af7b5ffe00a733fa4dd
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-01 14:32:19 -07:00
Jaime Arteaga
390ec9fd71 Return ZE_MEMORY_TYPE_UNKNOWN for non-runtime allocated pointers
This aligns more to spec definition

Change-Id: I3f6aaf50945ef82fa5ffe8f400972e944ad03e2b
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-01 09:45:07 +02:00
Mateusz Jablonski
91dc953e1c Add virtual destructor to L0::Driver
Change-Id: Iaeebe3e45a172daa028111f6dd1d741ca6a24969
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-05-29 14:59:42 +02:00
Mateusz Hoppe
f4ef256900 Program hardware context in L0 command queue
Related-To: NEO-4577

Change-Id: I204a5e86ad3b23b71071bbbfd58c23a408f6865f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-05-29 13:07:38 +02:00
Raiyan Latif
cb6823b1bd Allow for overriding the reported FP64 support in L0
Change-Id: Ib876e00e198c07dbae7b921e1e7dc2b142aee049
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2020-05-28 22:04:02 +02:00
Mateusz Jablonski
f0ef0d4d78 Remove redundancy from ModuleImp class
NEO::Device can be obtained from L0::Device
use modern API for MOCK_METHOD in Mock<Module>
remove not needed clang pragma from mock_module.h

Change-Id: I993fc77ee7cae56b3f21d6a60601fd649f984032
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-05-28 17:51:00 +02:00