Dunajski, Bartosz
2d77b86e70
Allow Device creating multiple CSRs [5/n]
...
- Move Engine type to OsContext
- Move OsContext to CSR
- Improve EngineMapper logic
- CompletionStamp cleanup
Change-Id: I935cb7169c8c48cd09837e20e3da06f6dd3437b9
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-11-27 14:25:04 +01:00
Dunajski, Bartosz
3ad33bf1b8
Allow Device creating multiple CSRs [3/n]
...
Add CSR from Device to CommandQueue
Change-Id: Iaccf3c73d25e357242837677777d0513e81f520e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-11-23 10:51:34 +01:00
Dunajski, Bartosz
d6870a896b
Reduce tag pool size to 1 for AUBs
...
Change-Id: I3a3513250b10e899795e149bff2739193a725f84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-11-20 11:42:32 +01:00
Piotr Fusik
76efeae9d8
Pass more information to programPipelineSelect.
...
Change-Id: Iaabe60742269b721f8defe71306dd6e87d60d546
2018-11-15 11:45:45 +01:00
Dunajski, Bartosz
e0f782e77a
Improve TimestampPacketWriteEnabled condition check
...
Change-Id: I2117dbd7841e65ed87241c0b08fafe058019b690
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-11-13 13:40:33 +01:00
Dunajski, Bartosz
1e0064fc2f
Allow ULTs to work with enabled TimestampPacketWrite
...
Change-Id: Idd4622469220b859e8724d9179837c685377ce52
2018-11-07 08:50:04 +01:00
Woloszyn, Wojciech
549b73510c
Flush L3 for reduced address space platforms
...
Change-Id: I5a73e72f8e309137328930920ab174ba6f1378dc
2018-11-06 14:26:59 +01:00
Mateusz Jablonski
ead2e2ea6d
Move createAllocationForHostPtr method to command stream receiver
...
Remove not needed includes from command_queue.h
Change-Id: I45963bf005471bd7716d55471474299a15e27b62
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-30 17:49:08 +01:00
Mateusz Jablonski
d5c9816428
Remove store allocation methods from memory manager
...
Move setGPUAddress method to WddmAllocation
Change-Id: I91d877c3791e9eff69276e4258e3ce9c3111ca45
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-26 10:53:43 +02:00
Dunajski, Bartosz
6d610983f1
Deferred Pipe Control programming and CSR flush on Barrier request
...
Change-Id: Iabae0f9159bb455518cedf7da068c7d3da72b840
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-10-17 09:31:34 +02:00
Dunajski, Bartosz
66427f60c6
Handle TimestampPackets for non-kernel enqueues
...
Change-Id: I52ec4f43b10bf6e2a10b2455d32a90a606645d29
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-10-10 04:21:30 +02:00
Dunajski, Bartosz
73b2e947a5
Multiple TimestampPackets handling
...
Change-Id: Ia5936c3d0a34b892aa4444026a5aebc681f126c2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-10-05 01:54:35 +02:00
Zdanowicz, Zbigniew
2d7077e138
Fix correct command buffer estimation for non-kernel enqueue calls
...
Change-Id: I8655d1824c229f13104e085f55fa15c310a17210
2018-10-05 00:47:54 +02:00
Koska, Andrzej
2110ba6ca4
Passing correct taskCount to waitForTaskCountAndCleanAllocationList
...
Change-Id: Ib0d2474bcd5827f8030331f7ef45ffc2805b955b
2018-10-04 23:53:43 +02:00
Filip Hazubski
b16bd14f37
Change virtual class HardwareInterface to static
...
Change-Id: I4f1f59ecb51b95041dc6dcc6c606b94595813f53
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2018-10-01 15:11:43 +02:00
Pawel Wilma
e06aa17dfc
Grf configuration
...
Change-Id: I3741f53a38c6707b0c8ad82ae553ea65ae6917e4
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com >
2018-09-27 17:57:19 +02:00
Dunajski, Bartosz
a52bcd830f
Make TimestampPacket from previous enqueue resident
...
Change-Id: I4534b80cc6019b3c5ff210ca686b17b299390028
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-20 22:34:28 +02:00
Dunajski, Bartosz
e06b370697
Pass eventWaitList to blocked command for semaphore programming
...
Change-Id: I8b56be03a7b89283f5368cf42d6788d70ebecdc7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-20 19:35:58 +02:00
Dunajski, Bartosz
7da499d7cd
Dont keep dependency on previous TimestampPacket in OOQ mode
...
Change-Id: Ia60d9ceafcf2789fbc951ca2a09ee3e515a9249a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-18 18:50:48 -07:00
Dunajski, Bartosz
2b89486fb1
Program Semaphore to keep dependency on previous enqueue
...
Change-Id: I511f39811769f1add179ea5d9cb331fa9c5ccec2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-12 12:23:17 +02:00
Mrozek, Michal
1530d7832f
Store command stream receiver in device.
...
Change-Id: I133ce4435e189e5bb8473ad4736fe0b02047dffe
2018-09-11 13:31:04 +02:00
Pawel Wilma
8c1db4fb2f
Code cleanup for reduced GPU address space
...
Change-Id: Ibce79ddbe1f03dac1813b5dc2356a9db86b60200
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com >
2018-09-10 16:16:06 +02:00
Dunajski, Bartosz
24136414e6
Use Semaphore to wait for dependencies from different device
...
Change-Id: I154f377c77847e93d5b188a5b2252e74d9d70b75
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-10 10:00:49 +02:00
Dunajski, Bartosz
d04614dce3
Use Semaphore to wait for dependencies on the same device
...
Change-Id: Ib04c960c50183c080d02753815ece80b58d1980e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-09-07 22:34:44 +02:00
Dunajski, Bartosz
b74280beb6
Check EnableTimestampPacket debug variable once and set as CSR mode
...
Change-Id: Ia6e7caa96f3b46b30590fb46a1fb37fa153adeb4
2018-09-06 11:19:02 +02:00
Pawel Wilma
4a12deea2b
Add support for reduced GPU address space
...
Change-Id: I9ebbc8c51039bb533b44c6b80e717e1489a20a43
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com >
2018-09-03 13:51:36 +02:00
Dunajski, Bartosz
c014c49102
Pass TimestampPacket to dispatchWalker during enqueue call
...
Change-Id: Ia2b9206d4c2bb69232bfe9e7d68d195f3a558926
2018-08-31 19:57:47 +02:00
Dunajski, Bartosz
570c0843ef
Handle TimestampPacketNode residency
...
Change-Id: I1769d67426ca704b600931b58d3f505bef0e893d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-30 11:53:56 +02:00
Dunajski, Bartosz
41914d3058
Make enqueue blocking if parent kernel requires aux translation
...
Change-Id: I678e1045d84f15e30223a99438bbb7057e172cff
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-29 19:33:00 +02:00
Dunajski, Bartosz
da0f9381dc
Timestamp Packet ownership
...
- Tag allocator: reference count tracking
- Obtain tag by command queue and pass to Event if exist during enqueue
- Handle Timestamp Packet lifetime on Event and CmdQueue destruction
Change-Id: I9a5969830ea7a9d729e6f70519d8c28ff70fcf06
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-29 13:47:46 +02:00
Dunajski, Bartosz
a807b9a90b
Initial implementation of Timestamp Packet write
...
Change-Id: Ic498bcf9795f54fbb5fb5a8d07ed17fa70dc4f1a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-28 08:27:13 +02:00
Maciej Dziuban
b91c14f70e
Delete Device::getBuiltIns()
...
Change-Id: I9d1968dfb2ba4a56020fd17152119add726106e1
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-08-22 16:54:53 +02:00
Maciej Dziuban
e0e48203d2
Move BuiltIns to ExecutionEnvironment
...
Change-Id: Ib2a1b82cc7858c898bb32820aad106a01d1325ad
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-08-21 23:15:47 +02:00
Dunajski, Bartosz
931b462ee1
Disable NonAux to Aux translation for Parent Kernel
...
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
Change-Id: I863608fe3652e7e777a1e841d79b5b56e7362a3f
2018-08-21 15:12:25 +02:00
Dunajski, Bartosz
c7a49666d5
Refactor querying Main and Parent Kernel from MultiDispatchInfo
...
Change-Id: I723d91f2f445bc7af1bcb0de46f8ac07837f3449
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-17 13:51:32 +02:00
Dunajski, Bartosz
a5950500a3
Aux translation [4/n]: Lock BuiltIn Kernel + refactor BuiltIns locking
...
Change-Id: Ic7dc9b86a4aa5f93f1c4bcdf80b9598ecdff9713
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-14 10:56:16 +02:00
Dunajski, Bartosz
6ca84c278a
Aux translation [3/n]: Dispatch AuxTranslation builtin when required
...
Change-Id: I9bd0294de7980ac01ebb3c2d696eba6fd6a456ec
2018-08-13 12:15:30 +02:00
Dunajski, Bartosz
b4f53fdfa7
Pick applicable buffers for aux translation
...
Change-Id: I60a28cd9e0dec61120b1ae5c42dfe0cb852eb387
2018-08-08 09:23:51 +02:00
Mrozek, Michal
d80dbb1ae0
Do not take ownership on device.
...
- Command Stream Receiver should be used instead for locking.
- Remove not needed synchronization in clSetUserEventStatus
Change-Id: I17050dc70cb0be03b2003043a9666ba8df1a83c9
2018-08-07 09:29:50 +02:00
Dunajski, Bartosz
ec6f0f9f86
Aux translation [1/n]
...
- Mark Kernel for aux translation
- Initial implementation of dispatchAuxTranslation for future use
Change-Id: Ifca1c9a893876eecc5678cdc4f564b2bfcae959a
2018-08-07 09:07:25 +02:00
Mateusz Jablonski
9ae4f390d1
Remove command queue, completion stamp and device from mem obj
...
Remove setCompletionStamp function from Surface
Change-Id: I25f3040a91892495e55cb4924f1538276de6264e
2018-08-01 16:17:13 +02:00
Mrozek, Michal
f60847b64e
Pass device to flushTask.
...
- do not obtain it from memory manager
Change-Id: Icc7c03dc925c69ec5932c5812151ac28dc34d20d
2018-08-01 14:11:06 +02:00
Milczarek, Slawomir
eb1b5ded9c
Add support for AUB subcapture (filter and toggle modes)
...
This commit adds a capability to selectively enable/disable AUB capture,
i.e. by toggling the registry key from the outside or specifying the filter
with a kernel name and/or kernel start index and kernel end index.
Change-Id: Ib5d39c21863fbc4a95aa73c949b9779ff993de0f
2018-06-15 13:02:27 +02:00
Mrozek, Michal
34ff5852eb
Add capability to csr to allow N:1 aggregation when ooq is created.
...
- This allows applications to force the N:1 aggregation by creating out
of order queue.
- That switches csr to N:1 submission model where commands from multiple
command streams may be aggregated.
- That forces scenarios returning an event to be aggregated as well.
Change-Id: I8fd8d7f88bb2665234ee90870133120b206710a8
2018-04-26 15:41:20 +02:00
Pawel Wilma
a0c044e6d2
Extend batch buffer flattening in AubCSR to BatchedDispatch mode
...
- batch buffer flatening in batched mode
- added MI_USER_INTERRUPT command
- added GUC Work Queue Item
Change-Id: I35142da34b30d3006bb4ffc1521db7f6ebe68ebc
2018-04-26 12:45:02 +02:00
Artur Harasimiuk
75d497a9a9
separate BuiltinDispatchInfoBuilder from built_ins.h
...
We don't need BuiltinDispatchInfoBuilder in every place where built ins
are used. specifically in .cpp files generated from kernel binary.
Change-Id: Ie739951cdc93873993f78ad14cee656122af51fd
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com >
2018-04-19 12:32:13 +02:00
Mrozek, Michal
87b8b6e261
[28/n] Internal 4GB allocator.
...
Avoid default parameter to getIndirectHeap.
Change-Id: I105ceaa4b5e9b23ce8dc96631410b9535e5a44e0
2018-04-16 17:56:49 +02:00
Zdanowicz, Zbigniew
e51cb6bd0b
Separate struct EnqueueOperation declaration and implementation
...
Change-Id: I537660867a1c98f957280237c14b7a1554fce3db
2018-04-10 16:36:48 +02:00
Chodor, Jaroslaw
6bf4135def
Fix for externally synchronized events
...
When inheriting task count from parent events,
don't take into account externally synchronized events
Change-Id: I52d861e482669a18e2aca499c813716bb4951b74
2018-04-09 12:12:58 +02:00
Mrozek, Michal
ffa9b097f5
[26/n] Internal 4GB allocator.
...
- change the way we handle blocked commands.
- instead of allocating CPU pointer and populating it with commands, create
real IndirectHeap that may be later submitted to the GPU
- that removes a lot of copy operations that were happening on submit time
- for device enqueue, this requires dsh & shh to be passed directly to the
underlying commands, in that scenario device queue buffers are not used
Change-Id: I1124a8edbb46777ea7f7d3a5946f302e7fdf9665
2018-04-09 10:47:37 +02:00