Commit Graph

44 Commits

Author SHA1 Message Date
Dunajski, Bartosz dc181defba Use GpuAddress for TimestampPacket programming
Change-Id: I1303605c33e2e0267a1716e12a0bfcb341fcfbd7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:31:17 +01:00
Chodor, Jaroslaw 43856e88b5 Refactor around cache flush and command queue
Change-Id: I277e27cbc60fbbb015c0024f171697408879ec0b
2019-02-10 17:59:33 +01:00
Venevtsev, Igor 66e3f3c16c Remove OCL Events concept from command stream receiver
Change-Id: I4d5a97b41efe601c92c2f3f33e9e24bb7d4fa3d2
2019-02-08 15:02:40 +01:00
Chodor, Jaroslaw 7d04159f76 Refactor around cache flush
Change-Id: Iff32af0111375f4ffc804c82e6d753d57fe94e80
2019-01-31 22:19:06 +01:00
Venevtsev, Igor 303014582a Extend semaphore synchronization for different command stream receivers.
Change-Id: Ic904b8c1e052adbb7b2ef82a6dec74ec69837f9f
2019-01-30 09:33:41 +01:00
Zdanowicz, Zbigniew 158f200476 Add HW commands const definitions
Change-Id: If2e9d7f7f707b7b8c7bd8dbd3853ab3b6dad0c9a
2019-01-18 12:13:25 +01:00
Pawel Wilma 14e8fdd8f8 Fix for incorrect timestamp offset calculation in event profiling info
Change-Id: I634c29daf4734b24e4075542dc6550c531977f0a
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-01-11 16:39:05 +01:00
Napiatek, Henryk J f7e0decf44 Improve capturing profiling timestamps
Change-Id: I3a568afb664cae5c871e53de2c36fc8be65a4bdf
2019-01-03 12:35:56 +01:00
Artur Harasimiuk b5f443edc0 Revert commit cc1f4bed60.
This reverts commit cc1f4bed60.
Revert "Revert "Use GPU instead of CPU address in programming commands
for HwTim(...)""

Change-Id: Iff122612bb46ba80bcc70b07b2609bfd5f0b9653
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-12-21 13:25:49 +01:00
Pawel Wilma cc1f4bed60 Revert "Use GPU instead of CPU address in programming commands for HwTim(...)"
This reverts commit 6202b2222b.
"Use GPU instead of CPU address in programming commands for HwTimeStamps"

Change-Id: I085382d95538ae41068a21c628d606039bf9cdf0
2018-12-21 01:16:46 +01:00
Kamil Diedrich 4b1871bf0e Add pipe control before and after buffer translation
Change-Id: I4ee32c410e1ac2bcdb3ceae203cd461de79146a5
2018-12-20 09:30:53 +01:00
Zdanowicz, Zbigniew 3dca095ccf Add cache flush command after WALKER command
Change-Id: I3983dc6c0797047e17cc8189655a22a22e85892b
2018-12-19 13:15:33 +01:00
Pawel Wilma 6202b2222b Use GPU instead of CPU address in programming commands for HwTimeStamps
Change-Id: If9ab4cbd052dfa46b5d901073df4c583c2ae361f
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-12-12 13:27:53 +01:00
Mrozek, Michal 61e7ae9280 Refactor pipe control post sync programming.
Change-Id: I81f4840345494c6d32679e29faaff786677cb4b0
2018-11-23 11:42:32 +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
Piotr Fusik e66920a8f8 Fix typos.
Change-Id: Ie7add32684f812e11281668d9b93910384086c62
2018-11-15 12:18:03 +01:00
Piotr Fusik 4bdf183c9d Use the runtime CS size estimation in ULTs.
EnqueueOperation<GfxFamily>::getTotalSizeRequiredCS was ULTs-only.
Replace with the real CS size estimation from getCommandStream.

Change-Id: I4d15d342eb5edff6511acc9c80e13e9cc92d81ac
2018-10-23 13:07:42 +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
Filip Hazubski 3fdb17bc7f Move hw specific GpgpuWalkerHelper functions to separate file
Change-Id: If2e793d0c3de1a5245bbdee065111a504807b134
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-10-03 20:19:47 +02:00
Zdanowicz, Zbigniew 2632b21fd1 Organize dispatching of thread data for better reuse of code
Change-Id: I8c156f8b5a50f6fa4dfb5218cdadb2840ff556eb
2018-10-02 18:47:13 +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
Dunajski, Bartosz cbd017d495 Handle TimestamPacket with implicit dependencies ownership
Change-Id: I22a4de4e9eb904c359583e235e0de54a7c743e07
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-28 01:48:02 +02:00
Zdanowicz, Zbigniew 51e888dfc7 Add new arguments to GpgpuWalkerHelper<GfxFamily>::setGpgpuWalkerThreadData
Change-Id: I19e42a75f5224f6e3588c2c7be4a3451714bb5ef
2018-09-26 14:56:01 +02:00
Zdanowicz, Zbigniew 9e8a434464 Add new parameter to dispatch payload data
Change-Id: I0034c5a40de65a050e19691b13793b7053354757
2018-09-26 14:43:46 +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 097d09c593 Make resident all TimestampPacket allocations from Events
Change-Id: Ic4d2d1a328dca204675c4d0aee6a7efb5a71f940
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-19 01:53:12 +02:00
Filip Hazubski ce8284bade Move dispatchWalker() to seperate class
Change-Id: Idc95df3d67775022f2197c1f973182acb3558a2d
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-09-13 10:29:13 +02: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
Dunajski, Bartosz 2366c41154 Simplify Semaphore programming
Change-Id: I3322be137bbc1fe6f63baada26cf65baf821b4c1
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-11 11:06:56 +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 eb6b574561 Improve TimestmapPacket write commands size estimation
Change-Id: Idf80401f4360342a162d54aba7ffbe6dfcf714e8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-06 16:13:07 +02:00
Dunajski, Bartosz 1b04210c6a Extend TimestampPacket data with Submit field
Change-Id: Ia2a23003476db06afeee25ca7766cfd1bc6da4a3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-06 10:37:03 +02:00
Filip Hazubski 85d7e0e4c8 Refactored GPGPU walker for easier maintenance
Change-Id: Ie10272f363d3e583893c46123bb7a56a5fd9ac45
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-09-03 11:04:24 +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
Dunajski, Bartosz 044255e9bd Pick Main Kernel for LWS and numWG in dispatchWalker()
Change-Id: I4fd0746ec77890ceacbf333966bb00a4ea99b186
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-20 13:51:35 +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
Zdanowicz, Zbigniew 33fee15711 Change interface to pass Interface Descriptor Data as pointer
Change-Id: I0f33109b800a7607206954bb1e5cb0826290e6f3
2018-05-11 14:35:53 +02:00
Zdanowicz, Zbigniew d94b853c32 Separate HW commands from class declaration and interface
Change-Id: Ia49098171f4b7814c42a35686354713a322c9df7
2018-04-25 14:03:00 +02:00
Zdanowicz, Zbigniew e51cb6bd0b Separate struct EnqueueOperation declaration and implementation
Change-Id: I537660867a1c98f957280237c14b7a1554fce3db
2018-04-10 16:36:48 +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
Zdanowicz, Zbigniew b6b92ae808 Create GpgpuWalkerHelper class
Change-Id: Ia9aa7b816356aff57234b46ea3509b6bd9b7f14b
2018-04-04 16:42:16 +02:00